2012-06-21 85 views
29

Call to undefined method after upgrading to PHP 5.4.0提到從三月幾個APC的bug報告,2012年任何使用PHP 5.4.4和APC 3.1.10成功提供高流量的人?

我的具體問題是:是PHP 5.4.4(或左右)的組合穩定與APC 3.1.10(在4月發佈,但作爲上市「測試版「而不是」穩定版「)?

我們在Apache框上看到5,000-9,000 APC文件緩存命中/秒,作爲流量級別的模糊指示。這在PHP 5.3.8和APC 3.1.9(使用mod_php)下工作正常 - 任何人都有5.4.4和3.1.10的可比流量的經驗嗎?

+0

我們的大部分非動態資源都由apache以外的反向代理服務。我們對動態請求的最大瓶頸是PHP,而不是Apache本身。我們應該考慮是否有APC + Apache的替代方案? –

+0

@Frank Farmer:Apache mod_php或FCGI?我會說zerkms賭博了一下。 – hakre

+0

@Frank Farmer:「我們對動態請求的最大瓶頸是PHP」---你怎麼知道的?你有沒有分析你的腳本?我懷疑不同的操作碼緩存實現可能會顯着增加(相互比較)。我相信瓶頸是代碼本身,而不是它前面的操作碼緩存 – zerkms

回答

11

不是。已經在高流量的網站上試過了。由於字符串損壞,在3.1.10上發生嚴重錯誤的時間大約是75%或更長。幹線版本(截至2012年6月27日)稍微好一點,但對於我們的生產來說仍然太不穩定。

參見:https://bugs.php.net/bug.php?id=62442

0

第一:給APC大量的內存。

檢查我的回答那裏知道如何配置APC What is causing "Unable to allocate memory for pool" in PHP?

正如你所說,5000至9000點擊/ s是不是很可靠的信息,這取決於正在運行什麼。 Magento使用10k文件併爲一個頁面視圖生成大量點擊。

最佳優化是在體系結構級別。考慮爲您的網站使用反向代理和應用程序緩存。