2012-03-20 93 views
3

我正在爲客戶端安裝預構建的基於php的Web應用程序。不幸的是,應用程序執行速度很慢,因爲它編譯了大量數據。 頁面加載時間長達40秒。PHP(Apache)的靜態緩存?

我知道ob_caching,但除非絕對必要,否則我不想惹惱應用程序。

是否有任何工具/腳本/ apache模塊來靜態緩存應用程序的整個輸出,並定期更新它。 我只是尋找一箇中間件,或者從PHP應用程序構建常規靜態ht​​ml頁面的東西。 (順便說一句:我試過eaccelerator,但它並沒有改善的情況。)

我會很感激任何提示。 在此先感謝。

+1

不要忘記給予好評,並選擇最佳答案,你幫助最大的答案。 – 2013-06-10 09:23:49

回答

2

eAccelerator應該有一個可測量的差異,所以你確定它安裝正確嗎?您應該在phpinfo()中看到一個eaccelerator部分,其中顯示緩存已滿。您也可能會將緩存設置太小等。或者,也可以嘗試使用APC。如果兩者均未顯示性能改進,則可能有服務器問題。

無論如何,40秒對任何事情都是瘋狂的緩慢。你確定這是PHP而不是很差優化的SQL查詢嗎?

+2

我的猜測是他有一些代碼在做一些非常愚蠢的事情,或者一些沒有索引的怪物SQL查詢。在進行任何性能優化(包括緩存)之前,您應該對您的代碼進行簡介以找出問題的實際位置。 – 2012-03-20 16:36:29

+1

@KeithPalmer +1。我建議xdebug探查器:http://www.xdebug.org/docs/profiler – 2012-03-20 16:38:17

+0

感謝迄今爲止的答案。是的,我知道我應該看看代碼。正如我所說,我沒有建立它,所以我認爲如果我甚至沒有觸及它,只是緩存地獄,它會更少的工作。 :D也許這不是最好的主意......只是給你一個想法:應用程序正在讀取一個ics(日曆)文件,並將其放入一個漂亮的小型基於Web的顯示器中。它被稱爲phpicalendar。也許它只是不好...:D – Jelko 2012-03-20 16:59:48

0

看起來這應該做的伎倆(但情況因人而異,這取決於你的應用程序):

http://httpd.apache.org/docs/2.2/mod/mod_cache.html

+0

好主意。但是我認爲,除非我明顯改進了應用程序,mod_cache無濟於事。我想創建靜態頁面來提高速度。但閱讀上面的評論可能不是一個好主意。 – Jelko 2012-03-20 17:06:40

+0

因此YMMV。你確實要求一箇中間件解決方案:-) – 2012-03-20 18:37:20