1. 程式人生 > >Plone性能優化和擴展

Plone性能優化和擴展

可能 性能 一個 catalog 圖片上傳 out 原則 就是 uil

本文匯集關於Plone性能優化和擴展的相關技術和資料。

系統配置或全局部分?將主要的CSS,JS,Images等遷移到靜態站點(Apache,Nginx等搭建的虛擬主機站點)在該靜態站點設置3個月以上的過期頭,設置完全的gzip壓縮

  • 圖片上傳前應存為WEB格式,圖片盡可能采用 CSS sprites技術
  • 采用plone.app.caching模塊
  • 配置多個zope instance來負載均衡,一個CPU核對應兩個instance
  • 配置較多的內存,內存擴展是硬件投資最劃算的方式
  • 過濾多余的語言,假定站點只要求中文,在buildout配置的instance段增加如下語句:
environment-vars =

PTS_LANGUAGES=zh_CN zh

    zope_i18n_allowed_languages zh_CN   zh 

    zope_i18n_compile_mo_files false

開發部分

  • 合理規劃索引,原則上經常訪問的屬性都要建立catalog索引
  • 避免喚醒對象的getObject調用
  • 針對復雜的計算,合理應用memorie 裝扮
  • 針對循環或嵌套循環部分,盡量少用中間變量,及時釋放中間變量(所謂及時,就是用完即釋放),釋放的辦法就是:
del variantname
  • 頁面模板中盡量采用python表達式,避免采用路徑表達式
  • 在新建內容類型中,記得采用 cache:ruleset規則
  • 頁面模板中避免直接調用一個對象,而要采用nocall申明的方式
  • 頁面模板中變量被用在多個地方的情況,該變量應一次完成申明和計算,而不應多次計算,尤其是tal:repeat循環體中

Plone性能優化和擴展