OpenERP 6.1多进程模式配置方法
2014-03-23 16:27
197 查看
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
由于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
相关文章推荐
- OpenERP 6.1多进程模式配置方法
- 新秀翻译(两)——使用Java通用配置模板方法模式
- vsftpd主、被动模式iptables配置方法
- 基于单例模式的配置文件读取方法
- 厂方法模式(三):日志记录器的工厂方法模式解决方案,反射与配置文件
- linux下配置tomcat apr模式的方法
- VMWare Workstation虚拟机网卡工作模式及配置方法
- 文件格式配置文件weka频繁模式挖掘使用方法
- 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- 配置Hive使用嵌入式derby或客服模式derby方法
- 配置SQL Server数据库恢复模式(2种方法)
- Linux下tomcat作为守护进程运行(开机启动、以指定的用户运行、解决非root身份不能绑定1024以下端口的问题)的配置方法
- ADSL猫(511)配置为路由模式多台机子上网的方法
- hbase 单机模式下的配置方法
- centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课
- FTP被动模式防火墙的配置方法
- 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法
- ubuntu 开机后接着自动重启 //单用户模式如何进入//解决错误配置的方法
- Sping2.5配置文件的单例共享模式与独立产生实例,同步方法使用