Odoo 在
非 windows 系统下,
支持
并行处理,开启 workers 配置项 即可。

 
 

odoo有以下配置项 跟 并行处理有关

 
 

配置项

帮助信息

解说

limit_memory_soft

Maximum allowed virtual memory per worker, when reached the worker be reset after the current request (default 671088640 aka 640MB).

每个worker允许使用的最大 虚拟内存,达到后该worker将在当前请求完成被重置

limit_memory_hard

Maximum allowed virtual memory per worker, when reached, any memory allocation will fail (default 805306368 aka 768MB).

每个worker允许使用的最大 虚拟内存,将不能再分配任何内存

limit_time_cpu

Maximum allowed CPU time per request (default 60).

每个请求允许使用的最大CPU时间

limit_time_real

Maximum allowed Real time per request (default 120).

每个请求允许使用的最大Real时间

limit_request

Maximum number of request to be processed per worker (default 8192).

每个workder 能处理的最大请求

  

  

  

  

  

  

 
 

对于worker 的分配,通常会
按照 cpu core 的数量来计算,公式是 2*core+1 , 对于有4个 cpu core 的
主机,
配置 workers = 9

 
 

如果使用默认的 limit_request 配置项,那么
开启 9个 worker 能提供 最大 8192 * 9 = 73728 个请求   []

 
 

如果使用默认的 limit_memory_soft 以及 limit_memory_hard,
那么将会
消耗掉
虚拟内存 768 * 9 = 6,912 MB

 
 

参考

虚拟内存

 
 

 
 

CPU time vs Real time

 
 

Real time 是 实际时钟 计时, 而 cpu time是 cpu 处理指令时 花费的时间, 例如

 
 

Real time 为 2 秒 + io 时间

CPU time = user time + sys time = 0.015 + 0.000 = 0.015

 
 

 
 

Odoo multiprocessing的更多相关文章

  1. 发掘odoo.cli.server.Server的秘密,OpenERP的第三根线头儿

    command.py调用了server command 在server.py中,主函数main使用了外层模块传递来的args def main(args): check_root_user() odo ...

  2. odoo 8.0 多核启用

    对于很多企业来说,随着时间的推移,用户量或者企业建点扩张,使用erp就会出现应用访问越来越慢的情况, 其实这种情况不但限于erp,只要是有数据量增长的互联网业务必然会遇到的,因为一开始的是就没有做好大 ...

  3. 【odoo】【知识杂谈】单一实例多库模式下定时任务的问题分析

    欢迎转载,但需标注出处,谢谢! 背景: 有客户反应有个别模块下的定时任务没有正常执行,是否是新装的模块哪些有问题?排查后发现,客户是在一台服务器上跑着一个odoo容器,对应多个数据库.个别库的定时任务 ...

  4. Python标准模块--multiprocessing

    1 模块简介 multiprocessing模块在Python2.6中引入.最初的multiprocessing是由Jesse Noller和Richard Oudkerk在PEP 371中定义.就像 ...

  5. odoo种种

    [精]Odoo 8.0深入浅出开发教程-模块开发基础 http://blog.csdn.net/sunansheng/article/details/50864527 搭建odoo开发调试环境 htt ...

  6. Python的多线程(threading)与多进程(multiprocessing )

    进程:程序的一次执行(程序载入内存,系统分配资源运行).每个进程有自己的内存空间,数据栈等,进程之间可以进行通讯,但是不能共享信息. 线程:所有的线程运行在同一个进程中,共享相同的运行环境.每个独立的 ...

  7. 解决 odoo.py: error: option --addons-path: The addons-path 'local-addons/' does not seem to a be a valid Addons Directory!

    情况说明 odoo源文件路径-/odoo-dev/odoo/: 我的模块插件路径 ~/odoo-dev/local-addons/my-module 在my-module中创建了__init__.py ...

  8. Odoo 二次开发教程(五)-新API的介绍与应用

    [关于odoo新API的介绍,Internet上资料很少,或者不够完整详实,这会对初学者造成很大的困惑,本篇的目的就是希望能帮助新手了解新API的大概] odoo 新api的实现是借助于python装 ...

  9. Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍

    一.只读和唯一性验证 只读的设置有两种方法,一种是实在字段定义时设置为只读,第二种是在页面视图中进行设置. 接前例,我们将学生(tech.student)的名字name字段设置成只读. 方法一:字段定 ...

随机推荐

  1. python week08 并发编程之多进程--实践部分

    一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程.P ...

  2. 【LeetCode】Binary Tree Level Order Traversal(二叉树的层次遍历)

    这道题是LeetCode里的第102道题. 题目要求: 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15 ...

  3. 九度oj 题目1177:查找

    题目描述: 读入一组字符串(待操作的),再读入一个int n记录记下来有几条命令,总共有2中命令:1.翻转  从下标为i的字符开始到i+len-1之间的字符串倒序:2.替换  命中如果第一位为1,用命 ...

  4. [CODEVS1911] 孤岛营救问题(分层图最短路)

    传送门 吐槽:神tm网络流... 用持有的钥匙分层,状态压缩,用 2 进制表示持有的钥匙集合. dis[i][j][k] 表示持有的钥匙集合为 k,到达点 (i, j) 的最短路径. 分层图的最短路听 ...

  5. [CODEVS1914] 运输问题(最小费用最大流)

    传送门 水题. 建图都不想说了 ——代码 #include <queue> #include <cstdio> #include <cstring> #includ ...

  6. BZOJ4259 残缺的字符串 【fft】

    题目 很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺. 你想 ...

  7. mysql explain字段意思解释

    mysql explain字段意思解释 explain包含id.select_type.table.type.possible_keys.key.key_len.ref.rows.extra字段 id ...

  8. 第一个 spring Boot 应用通过Docker 来实现构建、运行、发布

    1. Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙 ...

  9. 病毒(bzoj 2938)

    Description 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码 ...

  10. vs nuget package control.

    关于nuget,貌似使用nuget获取的package会在项目解决方案根目录下面将所有download下来的依赖包存储下来,所以这里的package会是最后所有的引用所在,既然不自己维护dll库的位置 ...