Plone性能優化和擴展
阿新 • • 發佈:2019-02-09
可能 性能 一個 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性能優化和擴展