在我的IIS7.5Web服务器上,我正在运行PHP5.6以及用于缓存PHP脚本操作代码的wincache扩展(1.3.6.1)。这应该是为了减少服务器上的CPU负载,因为PHP脚本不必在每次请求传入时重新编译。
但是,我没有看到CPU负载明显减少。对于3个客户端,我的web服务实际上是最大的(平均80%的cpu利用率),这与没有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有任何影响,有什么建议吗?我还能尝试减少我的can服务器上的CPU负载吗?
发布于 2015-08-29 06:59:41
因此,看起来PHP现在有一个内置的操作码缓存,。激活/配置它而不是Wincache对我起作用。我现在看到了操作码的缓存产生了效果,尽管它并不像我预期的那么大。
从PHP5.5开始,可以通过在php.ini中添加以下行来激活Zend扩展
zend_extension=php_opcache.dll
[opcache]
opcache.enable=1还请参阅关于如何配置/调整Zend扩展:http://php.net/manual/en/book.opcache.php的页面
https://stackoverflow.com/questions/32234074
复制相似问题