Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

Odoo部署的服务器配置选择


  • 管理员

    Odoo默认工作在“线程”模式下。当并发用户增加时,线程模式因为Python的GIL全局锁的限制,导致它无法分配现今多核服务器的其它内核来处理运算请求。所以,当有比较多的并发用户时,我们要将Odoo设置为“多进程”的模式,以充分利用服务器多核的计算资源。

    所谓让Odoo工作在“多进程模式“,就是给启动参数workers设置一个非0的数值,那设多少合适呢?

    首先,我们要知道:一个worker大致能并发处理6~10用户请求,所以比如60用户并发,那就大致需要配置10个worker

    Odoo的worker的值的设置还与服务器的内核数量有关,因为这些worker的负载最后是要由CPU内核运算单元来消化的。所以比如一个普通的单CPU,4核服务器,可以支持的workers的数量就是 2 * Cores + 1 = 9, 8个http worker, 1个cron job worker。 与上面的10个worker的需求接近,所以处理60用户并发我们可以选一台拥有4核的服务器,Odoo配置:

    workers = 8
    max_cron_threads = 1
    

    那么内存应该配置多少呢?一般一个任务繁重的worker占用1G内存,而大多数轻载的worker占用内存为150M左右。而在实际的应用中遵守2/8法则,即重载worker和轻载worker的存在比例时20%/80%, 所以9个worker的内存需求为:
    9 * (0.8 * 150 + 0.2 * 1024)≂ 3 G RAM

    由此可以看出,Odoo还是一个并不怎么消耗服务器资源的平台。


Log in to reply