【问题标题】:Wincache extension has no impact on IIS 7.5Wincache 扩展对 IIS 7.5 没有影响
【发布时间】:2015-11-20 22:23:05
【问题描述】:

在我的 IIS 7.5 网络服务器上,我运行 PHP 5.6 和 wincache 扩展 (1.3.6.1) 以缓存我的 PHP 脚本的操作码。这应该可以减少服务器上的 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 有任何影响的任何建议?我还可以尝试什么来减少我的网络服务器上的 CPU 负载?

【问题讨论】:

    标签: php iis cpu-usage wincache


    【解决方案1】:

    所以看起来 PHP 现在有一个内置的操作码缓存,即 Zend Opcache。激活/配置它而不是 Wincache 对我有用。我现在看到操作码的缓存产生了影响,尽管它没有我预期的那么大。

    从 PHP 5.5 开始,可以通过在php.ini 中添加以下行来激活 Zend Opcache 扩展:

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

    有关如何配置/调整 Zend Opcode 扩展,另请参阅此页面:http://php.net/manual/en/book.opcache.php

    【讨论】:

      猜你喜欢
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多