2016-06-16 23 views
-4

我有一個PHP應用程序提供了寧靜的服務,我想通過xcache加速它,但情況並不像想象的那樣。xcache不加快我的PHP應用程序

我的php應用程序基於yii 1.1,並且函數I test會執行大量的數據庫查詢和計算。如果不使用xcache,所用時間爲600毫秒(300毫秒數據庫查詢),如果使用xcache,則整體情況相同。

我可以看到xcache實際上是通過訪問xcache管理頁面來工作的。

Xcache可以通過避免創建重複操作碼來節省時間,理論上它可以加速我的應用程序,但它不在這裏,所以有人可以解釋嗎?

+0

Op代碼緩存加速了編譯步驟,沒有別的。它不會減少實際運行操作碼或執行任何IO操作所需的時間。 – Steve

+0

操作碼緩存消除了代碼本身的解析/搜索(編譯)時間,但不會對數據庫查詢產生任何影響,或者在PHP代碼 –

+0

中實際執行繁重的計算,測試是通過curl命令完成的,所以它應該包含編譯時間。 – Nick

回答

0

我認爲原因在於編譯時間只是整個的一小部分。我會測試它,並在稍後的結果。

+0

我剛纔做了另一個測試,在這種情況下,我只是放了一些簡單的命令,比如echo等,當然,xcache將應用程序加速了三倍。 – Nick

0

您應該嘗試在php ini中啓用opcache,現在已將其作爲php核心的一部分進行捆綁。一個更好的選擇是試圖和optermise重查詢

0

配置文件的應用程序。如果瓶頸是IO或者一些不太好的數據庫查詢,你不能期望顯着的加速。

0

Opcache現在是標準,強烈建議使用它。因爲Opcache可以透明地管理Op Code緩存的所有設置和獲取,所以你也不需要做任何事情(除了安裝它)。

或者,您可以嘗試通過查看數據庫索引,使用EXPLAIN(如果使用MySQL)並緩存結果來診斷您的查詢。