2009年8月1日星期六

我曾安裝 Drupal 6 的效能負載……


Drupal 的功能強大而且免費開源,可以使用Drupal造出很多類型的網站,無論是架設Blog、商城、文章管理、討論區和娛樂網站等,幾乎都可以用 Drupal 去完成,可以到http://www.drupal.org官方網站瀏覽一下也會發現很多很好的架站實例 (Showcase)。
不過 Drupal 功能雖然強大,程序的負載能力也是非常重要,尤其在安裝很多模組的 Drupal 環境之中更要注意負載,因為除了資料載的查詢量外,php的產生和執行時間也會對速度有很大影響,而且對伺服器做成一定負擔。
所以如果在虛擬主機用 Drupal ,又要安裝很多模組的話,就要注意 Drupal 的負載量,因為虛擬主機往往沒有提供如 memcache、Xcache 或 APC 等等緩存加速功能給用戶使用,所以網站的主人往往要在速度和功能取得更好的平衡。
就曾試過在虛擬主機安裝全新 Drupal 6.6,並使用 Devel 模組得到一些看資料庫的查詢數據,會發現Drupal的負載能力在虛擬主機中,安裝了內建的模組有Forum、Comment、Locale、Menu、 Path、PHP filter、Poll、Profile、Taxonomy和Upload,相信這些模組對很多Drupal用戶都不會陌生吧。
在首頁(front)的數據 – (Page execution time was 2094.44 ms. Executed 65 queries in 369.79 milliseconds.)
在討論區建立了一個討論板的分類頁面(/forum) – (Page execution time was 2048.61 ms.Executed 65 queries in 273.99 milliseconds.)
在討論區發表了一篇文章的標題頁面(/forum/1/) – (Page execution time was 1397.09 ms. Executed 54 queries in 286.19 milliseconds.)
在討論區中瀏覽未有任何回應的文章(node/xxxx) – (Page execution time was 3648.02 ms. Executed 188 queries in 432.3 milliseconds.)
在瀏覽自己的個人資料頁面(/user/1) – (Page execution time was 1314.44 ms. Executed 76 queries in 485.82 milliseconds.)
在建立內容頁面(/node/add/) – (Page execution time was 1183.67 ms. Executed 61 queries in 122.44 milliseconds.)
在編輯/建立內容的頁面(/node/add/story/) – (Page execution time was 1183.67 ms.Executed 61 queries in 122.44 milliseconds.)
在管理主頁(/admin/) – (Page execution time was 1538.64 ms. Executed 150 queries in 231.2 milliseconds.)
在模組管理頁面(/admin/build/modules/) – (Page execution time was 9232.26 ms.Executed 1203 queries in 1321.98 milliseconds.)
對我這些虛擬主機的用戶來說,雖然我很喜歡 Drupal ,但 Drupal 的負載能力一直是我沒有使用 Drupal 的其中一個主要原因。
Drupal 的內建 Cache 只能對未登入的訪客(Anonymous user)發生作用,因為登入了的會員可能會更變個人資訊或發表文章,網站的內容隨時會因而改變,所以設計上內建的Cache不會對登入了的會員發生作 用,所以如討論區(forum)或群組(Group)等模組如發表量大的話負擔將會很大。
在Drupal 7 中據說會在效能中有所改進,不過暫時Drupal 7 只有Dev版本,距離正式版相信還有一段時間,且看看Drupal 7能不能有更好的效能,我也希望Drupal的負載力強大,不用像現在般只能將Drupal作測試之用。

0 留言:

發佈留言