您在這裡

請教各位已安裝了多少個模組?

kenming's 的頭像
kenming 在 2008-01-20 (周日) 19:21 發表

我在系統的安裝設定期間,為了要能達成我所想要的功能,反覆尋找了許多模組安裝,結果,乖乖,現在所安裝的模組已不下約 30 餘個了。而且我還是把 cck, panel, feedapi, event, view 等是各算成一個模組來計算的,然後資料庫表達也已高達 102 個!!

這裡想請問各位:
1.安裝多少個模組是合理的,且不容易影響 Drupal 系統效能?
2.假若以「馬英九大選競選網站」或「台灣哲學會」這樣較具規模正常運轉的網站來看,大概是安裝了多少個模組呢?
3.沒安裝額外模組之前,預設的資料庫表格是多少呢? (因為一開始安裝沒去注意到)
4.像我安裝了這麼多的模組,是否系統效能會不佳? (因還沒正常運作,尚未知曉),且爾後從 5.6 升級為 6.0 時,是否會造成升級的困難呢?

(1)怎樣叫合理怎樣叫不合理?
應該看你用在自己電腦上還是虛擬主機上。
以我個人來說,我在本地端電腦中用 Multisite 安裝了 3 份 Drupal 5,一份當自己的日誌,行事曆,筆記用。
一份拿來隨時匯入網站所備份下來的資料庫,檢視 watchdog 記錄,製作版型,和更新網站前的測試。
一份專門用來測試模組或測試執行 php。
只要你不是用很奇怪的硬體配備,或同時執行一大堆程式,通常你並不需要擔心這個問題。

如果你是用在虛擬主機,或直接以自己的電腦當網站伺服器,你就必需好好的考慮這個問題了。
所啟用的模組是否使用良好的方式撰寫? 不好的程式碼有可能會造成大量的資料庫存取與 CPU 使用率。
是不是真的有必要? 一個模組能夠帶給你多少幫助? 如果不用它,你會有多大的損失? 值不值得為這一個模組多犧牲一點資源?

無論如何,模組一定是越少越好。
使用開發,維護良好的模組,只用真的對你有幫助的模組。

尤其是如果你的網站是放在虛擬主機,你不會想看到你的瀏覽器上寫著:"資源使用已達到限制"之類的文字。
或接到來自主機業者的訊息要求你改善,否則你必需改用實體主機之類的。

(2)還沒有時間研究,不清楚。

(3)如果你指的是,不包含任何額外模組,只計算你有啟用的所有核心模組,啟用不同數量的核心模組也會有不同數量的資料表。
例如有啟用 Statistics 就會有 Statistics 的資料表。

  1. 建立一個新的"資料庫"
  2. 取消 settings.php 的唯讀狀態
  3. 以文字編輯軟體開啟 settings.php 找到第 93 行 $db_url
  4. 將最後面你原本資料庫名稱,改為新的資料庫名稱後存檔
  5. 在瀏覽器網址列輸入原本的網址,最後面加上 install.php
  6. 如果沒有任何問題,通常你的 settings.php 已經是唯讀狀態,並且新的資料庫中有 40 個資料表。

(4)只要有用到額外模組,就多少會有升級困難的風險。
就算是再普遍的額外模組,它還是額外模組。
你無法保證它永遠不會有開發進度落後,甚至停止的可能。

如果你很在乎隨時都能享受最新版本,你應該試著把焦點鎖定在有共同維護,或一旦停止,有人願意接手維護的模組。

你可以利用 Drupal Taiwan 首頁所提到的方式來觀心 Drupal 6 模組的開發進度。

實在感謝 Nitemare 如此詳細的解說 :-)
我是架設在虛擬主機上,以現在而言,我跑 30 餘個模組是感覺效能、資源等是算還好,不過是的確擔心日後維護的問題。

對了,那麼 Nitemare 您的模組安裝總數共是多少呢? 可否分享參考一下呢?
也請其他網友們也能不吝分享!

不客氣 :)

在虛擬主機上的話,還要看看主機業者提供多少 memory_limit 之類的,如果太低,又能不能自己改或請他們幫你改。
如果完全不能改,網站使用者少的時候也許沒有太大影響,如果很"不幸"的,網站經營太順利的話.... 就很尷尬了。

Throttle 模組,說沒用,它也不是沒用,說有用,但它又無法徹底解決問題。
如果你已經到了有必要使用這個模組的情況,該啟用好還是不啟用好。
如果你的網站使用者們已經習慣了某些模組的存在,但後來卻因為 Throttle 模組,讓某些網站功能有時候可以用,有時候不能用,這樣會不會影響到使用者們的心情?
如果網站人氣不減反增,搞到最後某些模組使用者們可能根本沒機會用到,那時候你心裡會不會想:"繞了一大圈,當初要是根本沒這些模組,不就沒事了"。
如果停用部份模組,還能夠保持網站上線,那還是好事。
怕的是如果妳已經忍痛把能停用的都停用了,還是達到了主機業者所限制的 CPU,記憶體,或流量,最後還必需面臨般家的困擾。

要避免達到主機資源使用量的限制,除了與模組的選擇及數量,使用者人數有關以外,和主機業者也有很大的關係。
因為,到底有多少資源可以用?
CPU 方面看不到,但是 memory_limit 是能夠從 cPanel 看見的。
我個人曾經看過 "8M" 這種數字,讓我傻在螢幕前好長一段時間....

但是當然,這是很糟的情況,短時間內,你並不需要擔心這些。
或如果你很幸運的選到了很棒的主機業者,讓你能夠很順利的經營網站,一直到網站規模變得很龐大。
在那之前,你有很充足的時間慢慢考慮未來的計畫。

至於我所使用的模組,核心不算的話,只有 BUEditor,Code Filter,External Links,和 Views。
好聽的說法是我比較保守,換句話說就是龜毛啦。
的確,我是很斤斤計較的人,電腦用 2G DDR2 800,不做其他事只同時開 Firefox 和 Opera 就讓我心疼得要命....

為什麼要用某某模組,為什麼不用某某模組,很多時候,這是很見仁見智的問題。
但如果,在不加模組的情況下,也許有可能做到我所要的,我會想先試著去尋找這種方法,真的找不到或不可能再做打算。

例如:我希望我所發表至首頁的網站新聞,能夠有類似部落格的 Categories 與 Archives,而我已經有 Views 了,我何必多啟用其他模組。
或是:我也曾經和許多 Drupaler 們一樣,不斷尋找能夠使討論區看起來更像討論區的模組,但我仔細想想,我到底要什麼?
我想要的只是一個看起來舒服,簡單易用討論區就夠了,我並不需要多樣,複雜的功能。
所以我改從版型方面下手,改 template.php,style.css 之類的。
最後,我得到我要的了,沒有任何特別的功能,但,它就是我要的,不需要任何額外的模組。

為什麼我用 BUEditor 而不是其他更方便的所見即所得編輯器?
因為我的網站是以學習為主,我希望還不會 HTML 的使用者們學到的是怎麼用 HTML 而不是怎麼依賴編輯器。
BBCode 能用的地方有限,每個地方能用的標籤也有些許不同,而學了 HTML 卻是到處都能用,而且有標準的規則。

雖然不用 Code Filter 不會不能發表程式碼,但是既然使用者都已經知道如何發表程式碼了,我何必去虐待他們的眼睛。
發表後的結果大家看得很開心,但是有沒有人知道發表文章的那位使用者的近視又加深了幾度....
一個小小的模組能夠換來很大的便利,省掉很多失誤,當然值得用。

而 External Links 的目的,是為了方便使用者們判斷,他們即將按下的連結是站內連結還是站外連結。
讓使用者們能夠自己決定是不是要按,而不是按了之後才發現;"我被帶走了"。

用 Views 的理由,就像用 Drupal 一樣簡單:"它太棒了!"。

我知道還有很多很棒的模組,沒有用到不代表我認為它們不好或不值得。
而是我希望能夠把重心放在:網站必需保持上線,內容必需對使用者有幫助。
如果網站無法正常運作,有再好的內容也沒有人看得見。
如果內容對使用者沒有幫助,有再多的功能也沒有人在乎。
我所在乎的不是我的使用者們會給我的網站多少分,而是我的使用者們能夠從我的網站得到多少收穫。

的確,在模組方面我保留的空間很大,事實上,我也希望這麼做,讓我能夠隨時改變心意。
當我有一天突然發現,我的網站可能需要某些東西的時候,我可以放心的考慮我該選擇哪一個模組,而不用擔心我該把哪個模組換成什麼模組,又是否能夠順利的轉換沒有任何負面影響。

當然,也有一部份原因是在為 Drupal 6 做準備。
升級與不升級的差別在哪裡?
有了 Drupal 6 不代表 Drupal 5 就不會更新了,既然沒有安全性方面的問題,Drupal 6 有 Drupal 5 所沒有的,但 Drupal 5 也擁有數量驚人的模組,是 Drupal 6 所沒有的。
如果你在 Drupal 5 上用得到的,在 Drupal 6 還用不到,那你會升級嗎?

因為我保留了很大的空間,我可以考慮升級是否能夠為使用者們帶來一個更好的環境,而不是我能升級了沒。

views, cck, tinymce (or fckeditor), read more tweak, imagefield, imagecache, simple menu, google analytics, default filter, akismet, front page, devel 這些是我常常使用的模組,所以大約是十來個吧。

這是自己參與幾個網站的經驗:
http://drakeguan.org/
http://www.coolloud.org.tw/ (視覺 only)
http://cirque.drakeguan.org/
http://www.digimax.com.tw/
http://www.sunable.net/

或是大家要來玩玩這個? :D
http://drakeguan.org/top_drupal_modules_in_drupal_taiwan

哇噻,大家討論的很熱烈啊。
尤其是Nitemare,很用心地給了大家寶貴的經驗與意見。tky也非常讚同Nitemare的看法,模組有需要裝再裝,沒需要就保留不裝。

想當初,tky就是一個反面案例啦。有的沒有的亂裝一通,試到不滿意才換掉。結果剛好碰到4.x升級5.x的升級潮,心裡面只有「個安」(念快一點)而已。光等模組升級就等到天荒地老。
後來還是沒學乖,前後架了3個站,不管大小全都給它裝一堆;沒數過...不敢數。結果升級的工作就很累,要一個一個的去比對哪些模組有升級、哪些沒有。開了update模組頁面一看,常常是「滿江紅」,很林老師的感覺。

tky愛玩,喜歡用新模組,所以常常吃到苦頭。升級不順是小事,資料庫出問題蠻常見,搞掉網站重新再來也不是沒發生過。這不是說大多數的模組都很不穩定,而是tk裝了太多模組,又懶得一個一個做「停用、刪除、上傳、啟用、update」的動作,一次丟一匹上去資料庫,要找出哪個出問題是實在很累人的工作。

所以,朋友啊~~模組真的不要亂裝ㄟ~~除非妳愛玩砍掉重練的遊戲啊。

tky

tky

實在太感謝各位給予的意見了!!

我覺得我也與 tky 先前一樣,安裝太多模組了。我沒有想到,原來安裝模組也與 xoops 一樣,會使用許多額外的資料庫表格,如此會造成爾後維護上的問題。

看來我應該會打算重新安裝 Drupal 系統,只安裝最精要的模組 :-(

最多 20 個模組吧? 應該是比較正常的範圍吧?

多額外的表格倒是小問題吧
其實對mysql了解的話,表格只要語法沒用到,放在那兒其實也不會有什麼影響
總比老是改既有資料表的方式好多~(Alter Table)
--
from open mind to open source~

--
from open mind to open source~

經由 Nitemare 的提示,我透過 cpanel 檢查了 PHP 的 Memory_limit 為 32M。請問這樣記憶體是否足夠呢?

Hi tky:
安裝了其它模組後,變得如此多的資料表,感覺實在心不太安, Drupal 竟然是我所碰過所使用最多的資料表! 這讓我覺得未來的維護,應該是個問題!