OpenERP 6.1多進程模式配置方法

1) 問題背景
     由於Python的GIL問題,OpenERP 6.1以前的版本,只能單進程運行。在單進程模式下,OpenERP永遠只能利用單核CPU。也就是說,即使你的服務器硬件非常牛,例如有多核多顆CPU,但OpenERP卻不會利用。較高負荷的情況下,網頁響應速度很慢,但用top看CPU利用率,卻非常低(急煞人又氣煞人)!
     從OpenERP 6.1開始,事情有了改變。這得從“綠色獨角獸“說起。在互聯網開發領域,Python語言由於其簡潔、快速、強大的編程能力,很多Web程序都用Python編寫。爲了應對互聯網的海量訪問,這些Web程序必須能夠充分利用多核和多CPU!”綠色獨角獸“ Gunicorn就是用來解決這個問題的!凡是遵循WSGI標準的Web應用,在gunicorn的幫助下,可以自動fork出多進程,從而充分利用CPU。OpenERP 6.1開始,完全遵循WSGI標準,重寫了Web端代碼,能夠支持多進程,從而大幅提高系統性能。更多的背景知識,參考帖子:http://shine-it.net/index.php/topic,5745.msg14182.html#msg14182 

2)準備工作
      OpenERP多進程配置,安裝好OpenERP 6.1,能正常啓動之後,還需要:第一步,需要安裝gunicorn, psutil包;第二步,通過gunicorn啓動OpenERP;第三步,啓動OpenERP的cron 程序。
      安裝gunicorn。在Ubuntu下,這個非常簡單,apt-get install gunicorn 即可。
      安裝psutil包,這個也非常簡單,執行完下述命令即可:
wget http://psutil.googlecode.com/files/psutil-0.6.1.tar.gz
tar -xzf psutil-0.6.1.tar.gz
cd psutil-0.6.1
python setup.py install
cd ..

3)啓動OpenERP多進程
     在OpenERP 6.1源碼的Server目錄下,有個文件gunicorn.conf.py,遵循該文件說明,啓動OpenERP即可。啓動命令如下:
     gunicorn openerp:wsgi.core.application -c gunicorn.conf.py

4)啓動OpenERP Cron進程
     OpenERP有一些定期執行的作業,典型的如定期安全庫存檢查,定期收發EMail。OpenERP默認的單進程模式下,系統會自動啓動Cron進程執行定期任務。但在多進程模式下,由於通過gunicorn啓動OpenERP,系統不會啓動cron進程,需要單獨啓動它。
     從這裏下載獨立執行的OpenERP cron程序:http://bazaar.launchpad.net/~openerp/openobject-server/6.1/view/4184/openerp-cron-worker 
     設置linux crontab作業,一分鐘執行一次該腳本即可,腳本執行參考命令:
      python openerp-cron-worker -c openerp-server.conf 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章