開源 ERP 軟體 Odoo 提速指南

2021-09-23 16:41:51 字數 4159 閱讀 1471

odoo 是最流行的 erp(企業資源計畫)軟體,它由 python 編寫,使用 postgresql 作為後端資料庫。odoo 社群版是免費的開源軟體,它囊括了專案管理,生產、財務、記賬和銷售管理,倉儲管理,人力資源管理,甚至還有更多專案。裡面包含了 30 個核心模組,以及超過 3000 個社群模組。odoo 部署了大量的模組,資料庫裡也包含了龐大的資料等等,這些都使得這個軟體比較複雜,可能會導致效率低下。odoo 的兩個主要瓶頸在於磁碟訪問,以及資料庫查詢時間。

為了提公升 odoo 例項的效能,你可以:

正如我們先前提到的,隨機磁碟訪問速度是 odoo 的主要瓶頸之一。因此,要確保 odoo 部署在一台基於 ssd 的 vps 上。由於 odoo 是乙個對資源十分敏感的應用,因此始終要把它安裝在一台有著更多 ram 的 vps 上,如果可能,將整個 odoo 例項及其資料庫載入到 ram 中。固態磁碟驅動器尤其以隨機訪問見長,而且由於 ssd 沒有任何活動部件,它們能夠取得數百倍於傳統機械硬碟驅動器的隨機訪問 iops(lctt譯註:即每秒讀寫操作的次數)。如果伺服器沒有採用 ssd 來驅動或提速,那麼不管你對 odoo 做多少優化和配置都無濟於事,它仍然會很慢。所以,獲得正確的主機來部署 odoo 是提公升其效能的最重要因素。

其它 odoo 優化包括:

要實現此功能,請定位到 openerp-server 二進位制檔案:

#

updatedb

#

locate

openerp

-server

/

usr/

bin/

openerp

-server

執行以下命令:

#/usr/

bin/

openerp

-server

--help

該命令的輸出結果如下:

usage

:openerp

-server

[options

]

options

:

--version show program

's version number and exit

(...)

multiprocessing options:

--workers=workers specify the number of workers, 0 disable prefork mode.

--limit-memory-soft=limit_memory_soft

maximum allowed virtual memory per worker, when

reached the worker be reset after the current request

(default 671088640 aka 640mb).

--limit-memory-hard=limit_memory_hard

maximum allowed virtual memory per worker, when

reached, any memory allocation will fail (default

805306368 aka 768mb).

--limit-time-cpu=limit_time_cpu

maximum allowed cpu time per request (default 60).

--limit-time-real=limit_time_real

maximum allowed real time per request (default 120).

--limit-request=limit_request

maximum number of request to be processed per worker

(default 8192).

工作程序的數量應該和分配到 vps 的 cpu 核心數一樣,或者,如果你想為 postgresql 資料庫、cron 任務、或者其它和 odoo 例項安裝在同一臺 vps 上的其它應用預留出一些 cpu 核心,那麼你可以將工作程序數設定為乙個比 vps 上可用 cpu 核心更低的值,以避免資源耗盡。

limit-memory-softlimit-memory-hard引數不言自明,你可以使用預設值,也可以根據 vps 上的實際可用 ram 來進行修改。

例如,如果你的 vps 有 8 個 cpu 核心,以及 16 gb 記憶體,那麼你可以將工作程序數設定為 17(cpu 核心數 x 2 + 1),limit-memory-soft總值設定為 640 x 17 = 10880 mb,而limit-memory-hard總數設定為 68mb x 17 = 13056 mb,這樣,odoo 就會有總計達 12.75 gb 的 ram。

例如,在一台擁有 16 gb ram 和 8 個 cpu 核心的 vps 上,編輯 odoo 配置檔案(如/etc/odoo-server.conf),並新增以下行:

vi

/etc

/odoo

-server

.conf

workers 

=17

limit_memory_hard

=805306368

limit_memory_soft

=671088640

limit_request

=8192

limit_time_cpu

=60

limit_time_real

=120

max_cron_threads

=2

別忘了重啟 odoo 讓修改生效。

對於 postgresql 優化,及時將它更新到最新版本是乙個不錯的主意。在 postgresql 配置檔案(pg_hba.conf)中,有兩個設定需要修改:shared_bufferseffective_cache_size。將shared_buffers設定為可用記憶體的 20%,effective_cache_size設定為可用記憶體的 50%。

例如,如果 odoo 安裝到了一台 16 gb ram 的 ssd vps 上,那麼在pg_hba.conf中使用如下設定:

vi

/var

/lib

/postgresql

/data

/pg_hba

.conf

shared_buffers 

=3072mb

effective_cache_size

=8192mb

重啟 postgresql 服務來讓修改生效。

同時,也別忘了週期性手動執行 『vacuum

』。此操作會將陳舊或臨時資料清理乾淨,但請牢記,它會大量占用 cpu 和磁碟使用。

原文發布時間為:2017-03-14

開源ERP和其它ERP軟體比較

現在有許多企業將erp專案,在企業中沒有實施好,都歸咎於軟體產品不好。其實,這只是你們的藉口。若想要將erp軟體真正與企業融合一體,首先得考慮企業的自身情況,再去選擇適合的 erp軟體。開源erp和其它erp軟體比較,如圖所示 成本比較開源 erp其它中型 erp 軟體許可 免費10 100 萬 公...

開源ERP和其它ERP軟體比較

現在有許多企業將erp專案,在企業中沒有實施好,都歸咎於軟體產品不好。其實,這只是你們的藉口。若想要將erp軟體真正與企業融合一體,首先得考慮企業的自身情況,再去選擇適合的 erp軟體。開源erp和其它erp軟體比較,如圖所示 成本比較 開源 erp 其它中型 erp 軟體許可 免費10 100 萬...

說說ERP軟體的系統設計 開源軟體誕生8

用日誌記錄 開源軟體 的誕生 點亮星標,感謝支援,與開發者交流 kzca2000 碼雲 github 赤龍erp官網 筆者是軟體專業出身,學了好多的理論知識,但我總結就是理論過於枯燥,而且在實戰中基本用不上。所以今天就來說說我是如何學習系統設計的。還記得我剛剛畢業,第一次面對要獨立做乙個系統或 時的...