2012-01-24 35 views
1

假設我必須通過使用鉤子在Drupal中進行自定義編碼來創建功能A,B和C.Drupal中的模塊化方法對性能有好處嗎?

要麼我可以在custom1.module中關注其中的三個,要麼爲它們創建三個單獨的模塊,例如custom1.module,custom2.module和custom3.module。

  • 清潔代碼
  • 易於搜索
  • 相互獨立
  • 方便多開發商提交項目

缺點:

創建三個模塊的

優勢

  • 每個模塊條目都存儲在數據庫中並需要查詢。

它在多大程度上損害了網站的性能?

爲了減少數據庫查詢或將其分爲不同的較小數據庫查詢,創建一個大的自定義模塊文件更好嗎?

對於小規模網站,這個問題可能可以忽略不計,讓案例適用於面向大型績效的網站。

回答

0

Drupal的.module文件都加載了每個頁面負載。只需將功能分成不同的.module文件即可獲得或丟失很少的性能。如果您沒有使用操作碼緩存,那麼可以通過創建.inc文件並在hook_menu的菜單項中引用這些文件來獲得改進的性能,例如只有在訪問菜單項時才加載這些文件。然後很少被調用的函數不佔用內存空間。一般

文件分割是與模塊是如何設計相對於高速緩存,內存使用和/或數據庫訪問和結構一個非常小的性能問題。當您創建或不創建單獨的模塊時,讓代碼維護和依賴性問題驅動。

1

它基於我將代碼多久,我需要的功能A,B和C

實際的例子:

我做了一個模塊,它有兩個需要

1)發送基於定期寄送在用戶偏好上。讓我們調用這個函數A 2)在模塊中定製的內容。讓我們稱之爲B 3)社交整合。讓我們調用這個函數C

所以我所做的就像函數A每週只調用一次我爲它創建了一個單獨的模塊。

至於功能B和C我把它們放在一起,因爲他們總是會一起調用。

如果您在性能方面有問題,請查看此鏈接。它是提高性能的良好資源。

http://www.vmirgorod.name/10/11/5/tuning-drupal-performance

它列出了一個很好的模塊調用的推動作用。我沒有用過它,但我聽說過它的好處。

歡呼聲, 維沙爾

+0

Boost是一個很好的模塊,但僅適用於匿名用戶。我個人更喜歡用於匿名緩存的清漆。 http://drupal.org/project/varnish – fotuzlab

0

我是真正感興趣的:

是更好地創建一個大的自定義模塊文件以減少數據庫查詢的緣故,或者分解成不同的小的?

我四處尋找,發現了一些關於基準數據庫的事情。也許這裏的建議是啓動開發版本和測試。退房db benchmarking

現在我明白,沒有具體回答,但我不得不說,它唯一的每個環境。我討厭使用這種類型的答案,但我真的相信它是。取決於安裝的模塊,使用的版本,硬件和os可調參數等等。

相關問題