首頁 > 軟件 > Slow PHP and Cache.

Slow PHP and Cache.

2013年9月19日

用PHP真是又愛又恨,
愛當然是PHP擁有眾多開源及免費的內容管理軟件,常見的Wordpress、Joomla、Drupal就是用PHP寫的。
恨就是scripting language執行效率低,佔用CPU時間多,就算用到FastCGI去加速,有些網頁依然用上幾秒時間去處理一頁。

10秒載入時間
今天預到一個情況,一部新Web Server只有不到30個domain, 但CPU使用率長期在30﹪以上。
好左Server 2012/IIS8 設定了Application Pool isolation,所以很快就找到那一個網頁佔用了這些資源。原來一個剛搬到新服務器的Joomla網頁佔用了20﹪以上CPU。測試後發現,一個60KB的頁面載入時間要5至10秒。CPU不算慢,已經是Westmere 2.4GHz, 記憶體空間有50﹪以上,一至兩個Thread 長期在80﹪以上。

一個設定可以快50倍
由於沒有後台密碼,不知道是Joomla版本還是插件做成的影響,也不能關閉插件測試。找了一會才發現網頁並沒有使用緩存。只需在Joomla的configuration.php修改一行,載入時間就由原本的5至10秒,快取載入只需要0.2秒

由原本 $caching = off

public $caching = "0";

改為 $caching = Conservative

public $caching = "1";

測試同一個頁面的載入時間 9410ms vs 198ms。
Cache

很明顯地改善了CPU長期被佔用的情況。

Reference
http://www.ostraining.com/blog/joomla/guided-tour-your-joomla-configurationphp-file/
http://jbeginner.com/tutorials/optimization/how-to-turn-on-the-joomla-cache/

Categories: 軟件 Tags: ,
目前尚未開放評論的功能。