在我的 IIS 7.5 网络服务器上,我运行 PHP 5.6 和 wincache 扩展 (1.3.6.1) 以缓存我的 PHP 脚本的操作码。这应该减少服务器上的 CPU 负载,因为 PHP 脚本不必在每次请求进入时都重新编译。
但是,我没有看到 CPU 负载显着下降。有 3 个客户端时,我的 Web 服务实际上已达到极限(平均 CPU 利用率为 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 有任何影响的任何建议?我还能尝试什么来减少我的网络服务器上的 CPU 负载?