Расширение Wincache не влияет на IIS 7.5


На моем веб-сервере IIS 7.5 я запускаю PHP 5.6 вместе с расширением wincache (1.3.6.1) для кэширования кода операции моих PHP-скриптов. Предполагается, что это уменьшит нагрузку на процессор сервера, потому что PHP-скрипты не нужно перекомпилировать каждый раз, когда поступает запрос.

Однако я не вижу, чтобы загрузка процессора заметно уменьшалась. С 3 клиентами мой веб-сервис практически исчерпан (в среднем загрузка процессора составляет 80 %), и это столько же, сколько и без wincache.

Вот соответствующий раздел из php.ini

[PHP_WINCACHE]
extension=php_wincache.dll
; Full reference: http://php.net/manual/en/wincache.configuration.php
wincache.fcenabled = 0
wincache.ocenabled = 1
wincache.ucenabled = 0
wincache.fcachesize = 64
wincache.fcndetect = 0
wincache.maxfilesize = 256
wincache.chkinterval = 10
wincache.enablecli = 0

Мне пришлось отключить кэширование файлов из-за этого: https://serverfault.com/questions/643458/failure-in-php-minit-functionwincache-with-wordpress-microsoft-azure-and-iis

print_r(wincache_ocache_fileinfo()) печатает это:

Array
(
    [total_cache_uptime] => 303
    [is_local_cache] => 1
    [total_file_count] => 42
    [total_hit_count] => 32160
    [total_miss_count] => 42
    [file_entries] => Array
    ... (skipped precise file info for brevity)

И print_r(wincache_ocache_meminfo()) дает мне это:

Array
(
    [memory_total] => 100663296
    [memory_free] => 99769616
    [num_used_blks] => 1677
    [num_free_blks] => 1
    [memory_overhead] => 26880
)

Есть какие-либо предложения о том, почему я не вижу, чтобы wincache оказывал какое-либо влияние? Что еще я могу попытаться уменьшить нагрузку на процессор на моем веб-сервере?

Author: Community, 2015-08-26

1 answers

Таким образом, похоже, что в PHP теперь есть встроенный кэш кода операции, Zend Opcache. Активация/настройка этого вместо Wincache сработала для меня. Теперь я вижу, что кэширование кода операции оказывает влияние, хотя оно не такое большое, как я ожидал.

Начиная с PHP 5.5, можно активировать расширение Zend Opcache, добавив следующие строки в php.ini:

zend_extension=php_opcache.dll
[opcache]
opcache.enable=1

Также смотрите эту страницу о том, как настроить/настроить расширение кода операции Zend: http://php.net/manual/en/book.opcache.php

 1
Author: Eva Baentsch, 2015-08-29 06:59:41