默认情况下,Odoo正在使用多线程模式。 对于生产部署,建议切换到多处理服务器,因为它可以提��稳定性并更好地使用系统资源。 为了启用多处理,我们需要编辑Odoo配置并设置非零数量的工作进程。
多处理模式仅适用于Windows系统上可用的基于Unix的系统
工作人员的数量是根据系统中的CPU核心数量和可用的RAM内存来计算的。
根据官方的[Odoo文档](“https://www.odoo.com/documentation/11.0/setup/deploy.html”)计算工人数量和所需的RAM内存大小,我们将使用以下公式和假设:
工人数量计算
理论最大工人数=(system_cpus * 2)+1
1名工作人员可以服务〜= 6个并发用户
Cron工作人员还需要CPU
RAM内存大小计算
我们会考虑所有请求中有20%是重度请求,而80%是较轻的请求。 大量的请求使用大约1 GB的RAM,而较轻的则使用大约150 MB的RAM
需要的RAM = number_of_workers * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )
如果您不知道系统上有多少CPU,则可以使用以下命令:
grep -c ^processor /proc/cpuinfo
假设我们有一个带有4个CPU核心,8 GB RAM内存和30个并发Odoo用户的系统。
30个用户/ 6 = ** 5 **(5是需要工人的理论数量)
(4 * 2)+ 1 = ** 9 **(9是工人的理论最大数量)
根据上面的计算,我们可以使用5名工人+ 1名工人,工人总数为6人。 让我们根据工作人员的人数来检查RAM内存消耗。
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
上面的计算表明我们的Odoo安装需要大约2GB的RAM。
要切换到多处理模式,请打开配置文件并追加以下几行:
/etc/odoo11.conf
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 5
重新启动Odoo服务以使更改生效:
sudo systemctl restart odoo11
剩下的系统资源将被我们机器上运行的其他服务使用。 在本指南中,我们在同一台服务器上安装了Odoo以及PostgreSQL和Nginx,根据您的设置,您的服务器上可能还会运行其他服务。
搞定! 如果您有任何问题,请随时在下面留言。