odoo 性能調優以及負載均衡

來自:http://blog.lin-yu.net/2015/08/31/odoo_peformance_finetuning.html

1 Odoo負載均衡

1.1 Odoo服務器負載均衡

  • Nginx, odoo服務器做負載均衡,空間換時間
  • odoo使用多線程模式

1.2數據庫負載均衡,讀寫分離

使用postgres_XC或pg_pool進行postgres負載均衡

2 數據庫性能調優

  • 數據庫使用物理機
  • postgres參數調優,如共享內存http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

3性能度量以及監控

3.1監控

使用監控工具(munin, cacti, newrelic)度量服務器 cpu,內存,硬盤數據。

3.2 數據庫分析

  • 檢查pg數據庫,pg_stat_activity, pg_locks, pg_statio_user_tables等數據
  • 使用pg分析工具 以及 EXPLAIN ANALYZE檢查sql查詢效率
  • 分離數據庫和odoo附件

4 Odoo定製模塊性能調優

  • Tree View,儘量使用分頁,而不是提高每頁顯示條數。

來自odoo官方的建議:

  • Stored computed fields觸發太多: 增加觸發條件限制,避免無謂存儲。
  • 避免在主數據 (product, location, user, company)上增加計算類字段
  • 搜索 Domain不合理 -多表搜索,效率非常低
    • 舉例 ([(‘sale _id.order_lines.product_id ‘,’!=’, False)])
  • 業務邏輯重寫在 create(), write()函數中。性能會降低 因爲這些函數會被反覆高頻調用。
    • 避免重寫 sale order line, stock move的 這些函數 避免在主數據 (product, location, user, company)的這些函數
  • 誤用批量(Batch)API - browse, write 等函數已經支持batch
  • 手動鎖表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章