Openerp 并发负载 有多少?
-
[size=14pt]500用户 在30秒内就会有104位断线,就会有人突然断线啊,在哪里调啊
平台:centos 6.3
openerp: 6.1[/size] -
嗯,OpenERP 性能倒不会如此之差,提几个建议:
首先,请尽可能提供详细的信息
1、硬件信息
2、软件信息
3、运行环境
比如您描述的“断线” 和 “突然断线”,这不是一个准确有效的描述。如有可能配图说明。
比如各种LOG文件,如OpenERP的LOG/POSTGRESQL LOG等
比如用户是怎么操作,用户浏览器有无报错(如有请提供详细的错误信息)
比如服务器CPU\内存运行情况
从开始运行到发生错误时,系统资源占用情况、LOG报错信息等。
[b]最关键的是,如何重现该错误或现象。[/b]
其次,虽然OpenERP是开源,随时都可以调整代码,但请切记:[b]不要过早优化[/b]。
1、优化需要通盘考虑,先确认瓶颈在哪里
如有可能,尽量从硬件开始优化。
2、OpenERP 优化的地方很多
如用 nginx等 给OpenERP Web 做反向代理并缓存静态文件
如调整 OpenERP Server 的数据库连接数,这个在配置文件调整下参数就OK了
如调整 OpenERP werkzeug 的 socket.listen数
等等。。。
3、如有更高要求,可以考虑负载平衡集群方案。
如 redis + gunicorn + openerp 实现 OE 集群
如 pgpool 实现 postgresql 读写分离、双机热备等 -
多谢回答,不过你有个关键词我很感兴趣,我的服务器是普通电脑,P4 3.2 4G内存 centos 6.3 i386 系统 postgresql 9.1.4 openerp 6.1源码安装
因为要作测试,公司需要换ERP,所以要看看。如调整 OpenERP werkzeug 的 socket.listen数
这个需要在那个文件调整?
我自己根据log文件的提示修改了一个值,性能明显提升,但还是不够好
如下:request_queue_size = 128
此值我修改为500时 出错12次
-
[quote]如调整 OpenERP werkzeug 的 socket.listen数[/quote]
这个表述不清楚,抱歉让你困惑了。
werkzeug 内置的 http 服务是继承 py HTTPServer,所以 request_queue_size 实际上就是在调整 socket.listen 。
从你的描述中,只能靠猜了。。。。
我猜您是用 ab (或类似工具)对 OE web (如 [检测到链接无效,已移除]
这样测试的话,相当于就是在测试 werkzeug 作为web server 性能而已。之前我在OE 6.0做过并发1000的测试,适当调整下参数,是可以完成的。帖子在本版应该还可以找到。里面的调整方法,您可以参考下。
用nginx 做一个反向代理,并发测试数据就可以做得很漂亮。
有没有必要过早去优化?瓶颈是否在这里? 这需要您仔细斟酌了
实际上,OE SERVER 还有很多因素制约,如PG性能调优、GIL的限制等等。
另外,实际生产环境不建议直接用werkzeug 作为WEB 服务器,推荐以下方法:
1、nginx + oe
2、nginx + gunicorn + oe
3、负载平衡