簡體   English   中英

APC降低php性能??? (PHP 5.3,Apache 2.2,Windows Vista 64位)

[英]APC decreasing php performance??? (php 5.3, apache 2.2, windows vista 64bit)

我有一個Apache / 2.2.15(VC9)和PHP / 5.3.2(VC9線程安全)作為Vista 64位計算機上的apache模塊運行。 一切正常。

我正在基准測試的項目(使用apache的ab實用程序)基本上是標准的Zend Framework項目,不涉及數據庫連接。 平均(中位數)apache響應約為0.15秒

在我使用標准設置安裝APC(3.1.4-dev VC9線程安全)后,請求響應時間突然提高到1.3秒(!) ,這是不可接受的...所有apc設置看起來總是很好(通過apc.php腳本:足夠的shm內存,沒有高速緩存已滿,碎片0%)。

唯一的區別是禁用統計信息查找(apc.stat = 0)。 然后,響應下降到0.09秒 ,這最終比沒有apc時更好。 IIRC,可以預期並且很顯然,統計信息查找會產生一些開銷,但是,與不使用apc擴展進行運行相比,它是否應該具有更高的性能?

或換句話說,為什么apc.stat會產生如此大的開銷?

聽起來好像統計檢查繞過了文件緩存-但是我想甚至Microsoft NT也可以確保文件緩存是一致的。

(FWIW:我在apc上的經驗是它在Linux上帶來了很大的改進)

我建議嘗試使用其他文件系統-但是使用NT時,沒有太多選擇。

如果您對結果有信心(是在測試之間重新啟動還是只是重新啟動Apache?),然后在http://bugs.php.net/上發布錯誤(似乎那里似乎沒有任何相關的內容)

C。

編輯

..盡管這只是我想到的-運行測試時,系統內存發生了什么? 如果用ab實例用完了所有物理內存,則將沒有文件緩存。

更新 :我發現主要的惡意軟件是由防病毒軟件引起的...我不明白為什么會發生這種情況(為什么僅使用apc),但是這不再是問題了(注意:這是一台開發機)

現在,如果使用apc(apc.stat = 1)運行,則響應時間約為0.13秒 ,這比不使用apc時( 0.15秒 )要好一點。 它比預期的要好得多,但我現在將其保留...

感謝symcbean的回答。

防病毒軟件很愚蠢,它會認為每次APC運行並生成輸出時,都會有一個新應用程序並要對其進行重新掃描。 如果禁用緩存“ apc.cache_by_default = Off”,應該會看到一個改進,盡管最好只是禁用AV掃描已編譯的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM