Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

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

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

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

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

    OpenERP多核CPU支持

    Odoo 开发与实施交流
    4
    5
    4836
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • N
      NewZN 最后由 编辑

            由于Python的天然缺陷(GIL),python代码不支持OS级别的多线程同时运行(虽然python也支持多线程,但这是模拟多线程,不是OS级别的真正多线程)。由于这个原因,python进程只能运行于单CPU(或多核CPU的单核),这使得OpenERP不能充分利用现代多核CPU,更谈不上服务器的多CPU。这个缺陷,严重影响OpenERP 的性能。
            不过,python虽然不支持多线程,但是从python 2.6开始,新增加了multi_process包,支持多进程。OpenERP从6.1-1版本开始,也支持多进程。当配置成多进程模式,OpenERP启动后,系统自动启动多个WSGI服务进程,响应Web访问。
            默认配置下,OpenERP的cron job和WSGI服务都运行于同一个进程内(也是唯一的进程),配置成多进程后,系统不会自动启动cron job。cron job需要另外运行于单独的进程中。
            OpenERP的多进程配置参数是:workers = n, n是进程数量。默认配置是n==0,即不启动多进程。如果n>0,系统按多进程模式启动。在多进程模式,需要单独启动cron job进程。在OpenERP默认发行包里,没有单独启动cron job的代码,需要从这里下载:http://bazaar.launchpad.net/~openerp/openobject-server/6.1/view/4184/openerp-cron-worker


      GIL:Global Interpreter Lock,有关技术资料参看:http://wiki.python.org/moin/GlobalInterpreterLock
      OpenERP多进程支持技术资料参考:
      Serving OpenERP 6.1 on multicore systems with Gunicorn: http://v6.openerp.com/node/1106 br />Deploying OpenERP Server with Gunicorn: http://thu.openerp.com/open-days-2012/gunicorn.html#

      1 条回复 最后回复 回复 引用 0
      • mrshelly
        mrshelly 最后由 编辑

        感谢分享....

        赞...

        1 条回复 最后回复 回复 引用 0
        • Y
          yijingchang 最后由 编辑

          感谢老肖!

          1 条回复 最后回复 回复 引用 0
          • O
            old_taoist 最后由 编辑

            http://help.openerp.com/question/1671/difference-between-built-in-multiprocessor-mode-and-gunicorn/

            7.0以后已经不需要这些设置了,但缺省worker的数量未见解答。

            1 条回复 最后回复 回复 引用 0
            • First post
              Last post