定义
这在Odoo文档这里有解释。
Odoo包括内置的HTTP服务器,可以使用多线程或多进程。
对于生产环境,建议使用多进程服务器,因为它增加了稳定性,更好地利用计算资源,并且可以更好地监视和限制资源。
通过配置 :option:非零数量的工作进程 <odoo.py --workers>
启用多进程,工作进程的数量应基于机器上的核数(可能还要考虑cron工作量)。
工作程序可以根据硬件配置进行配置,以避免资源耗尽。警告
注意:当前Windows不支持多处理模式
配置
每个可用CPU应使用2个工作线程+1个cron线程,并使用每10个并发用户的1个CPU。确保在您的配置文件中调整内存限制和CPU限制。
workers = --workers <count>
如果计数不为0(默认值),则启用多进程并设置指定数量的HTTP工作进程(子进程处理HTTP和RPC请求)。
许多选项允许限制和循环使用工作进程:
--limit-request <limit>
工作进程在被回收和重新启动之前要处理的请求数。默认值为8196。
--limit-memory-soft <limit>
每个工作进程允许的最大虚拟内存。如果超过限制,工作进程将在当前请求结束时被终止并重新启动。默认为640MB。
--limit-memory-hard <limit>
虚拟内存的硬限制,超过该限制的任何工作进程都将立即被终止,不等待当前请求处理结束。默认值为768MB。
--limit-time-cpu <limit>
防止工作进程每个请求使用超过 CPU 秒数的限制。如果超过限制,将终止该工作进程。默认为60。
--limit-time-real <limit>
防止工人在处理请求时超过 秒钟。如果超过限制,工作进程将被终止。默认为 120。
与--limit-time-cpu
不同的是,这是一个“墙上时间”限制,包括例如SQL查询。
--max-cron-threads <count>
专门用于cron作业的工人数量。默认值为2。在多线程模式下,这些工人是线程,在多进程模式下是进程。
对于多进程模式,这是除HTTP工作进程外的额外设置。
有关部署架构的更多信息,包括一些图表。
有关配置文件的更多信息。
实际例子
我在上面的评论中添加了有关@prakah链接的信息:link
Heading | Description
CPUs | Number of CPU Cores not threads
Physical | Physical memory, not virtual or swap
workers | Number of workers specified in config file (workers = x)
cron | Number of workers for cron jobs (max_cron_threads = xx)
Mem Per | Memory in MB that is the max memory for request per worker
Max Mem | Maximum amount that can be used by all workers
limit_memory_soft | Number in bytes that you will use for this setting
注意:如果通知的最大内存小于总内存,则是故意这样设计的。因为在工作人员处理请求时,它们可以超出每个内存限制,所以在负载繁重的服务器下,内存可能会超过该限制。这就是为什么内置了“头部空间”的原因。
注意:如果通知的最大内存小于总内存,则是有意设计成这样。因为在工作人员处理请求时,它们可能会超出每个内存限制,因此在负载繁重的服务器下,内存可能会超过该限制。这就是为什么内置了“缓冲空间”的原因。
CPUs | Physical | workers | cron | Mem Per | Max Mem | limit_memory_soft
---- | -------- | ------- | ---- | ------- | ------- | -----------------------
ANY | =< 256MB | NR | NR | NR | NR | NR
1 | 512MB | 0 | N/A | N/A | N/A | N/A
1 | 512MB | 1 | 1 | 177MB | 354MB | 185127901
1 | 1GB | 2 | 1 | 244MB | 732MB | 255652815
1 | 2GB | 2 | 1 | 506MB | 1518MB | 530242876
2 | 1GB | 3 | 1 | 183MB | 732MB | 191739611
2 | 2GB | 5 | 2 | 217MB | 1519MB | 227246947
2 | 4GB | 5 | 2 | 450MB | 3150MB | 471974428
4 | 2GB | 5 | 2 | 217MB | 1519MB | 227246947
4 | 4GB | 9 | 2 | 286MB | 3146MB | 300347363
4 | 8GB | 9 | 3 | 546MB | 6552MB | 572662306
4 | 16GB | 9 | 3 | 1187MB | 14244MB | 1244918057