由於速度快,APC 正常運作時間為 0

由於速度快,APC 正常運作時間為 0

我有一個使用 Parallels/Plesk 的 VPS(11.0.9 更新 #22,最後更新於 2012 年 10 月 31 日上午 03:33 CentOS 6.3(最終版)x86_64)

我安裝了 apache (CGI/FastCGI) 並使用 nginx 作為反向代理。一切都運作良好。我安裝了 APC 進行緩存,但問題是正常運行時間始終為 0。它大約每 15 秒重新啟動一次。我檢查了所有地方,但找不到修復它的解決方案。

伺服器啟用了寬限重啟,但每 6 小時一次,這不會影響 APC 的正常運作時間。在 Google 中搜索,我發現這可能與 Apache 有關,它使用 FCGId 而不是 FastCGI 運行。 Plesk/Apache 使用此設定檔:usr/local/psa/admin/conf/templates/default/service/php_over_fastcgi.php 其內容為:

<IfModule mod_fcgid.c>
<Files ~ (\.php)>
    SetHandler fcgid-script
    FCGIWrapper <?php echo $VAR->server->webserver->apache->phpCgiBin ?> .p$
    Options +ExecCGI
    allow from all
</Files>

是這裡的問題還是其他地方的問題?我怎麼能修復這個問題以與 FastCGI 一起使用並使 APC 正常工作。我忘記指出,即使正常運作時間低於一分鐘,APC 的快取工作也相當出色(92% 是命中率)。

答案1

PHP 將死亡,然後當 PHP_FCGI_MAX_REQUESTS 被命中時,將產生一個新的 PHP。您可以透過以下方式調整該數字:

DefaultInitEnv PHP_FCGI_MAX_REQUESTS 5000

答案2

這可能是由於 Fcgi 終止應用程式造成的。根據您的負載(每小時請求數)它可以是 http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestsperprocess

或者http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgididletimeout(我覺得這個比較適合)

嘗試增加該值以達到效果。

相關內容