开源ERP软件Odoo提速指南

Odoo 是最流行的 ERP(企业资源计划)软件,它由 Python 编写,使用 PostgreSQL 作为后端数据库。Odoo 社区版是免费的开源软件,它囊括了项目管理,生产、财务、记账和销售管理,仓储管理,人力资源管理,甚至还有更多项目。里面包含了 30 个核心模块,以及超过 3000 个社区模块。Odoo 部署了大量的模块,数据库里也包含了庞大的数据等等,这些都使得这个软件比较复杂,可能会导致效率低下。Odoo 的两个主要瓶颈在于磁盘访问,以及数据库查询时间。

为了提升 Odoo 实例的性能,你可以:

  • 使用一个快速磁盘驱动器来存储(最好是 SSD)。
  • 使用内存充足的 Linux VPS。
  • 在 Odoo 中激活多处理器模式multiprocessing mode。
  • 正确配置并优化 PostgreSQL 服务。

获得一台有着更多内存的 SSD VPS

正如我们先前提到的,随机磁盘访问速度是 Odoo 的主要瓶颈之一。因此,要确保 Odoo 部署在一台基于 SSD 的 VPS 上。由于 Odoo 是一个对资源十分敏感的应用,因此始终要把它安装在一台有着更多 RAM 的 VPS 上,如果可能,将整个 Odoo 实例及其数据库加载到 RAM 中。固态磁盘驱动器尤其以随机存取见长,而且由于 SSD 没有任何活动部件,它们能够取得数百倍于传统机械硬盘驱动器的随机存取 IOPS(LCTT译注:即每秒读写操作的次数)。如果服务器没有采用 SSD 来驱动或提速,那么不管你对 Odoo 做多少优化和配置都无济于事,它仍然会很慢。所以,获得正确的主机来部署 Odoo 是提升其性能的最重要因素。

其它 Odoo 优化包括:

在 Odoo 配置中启用多处理器选项

要实现此功能,请定位到 openerp-server 二进制文件:


  1. #updatedb 
  2. #locate openerp-server 
  3. /usr/bin/openerp-server 

执行以下命令:


  1. #/usr/bin/openerp-server --help 

该命令的输出结果如下:


  1. Usage: openerp-server [options] 
  2. Options: 
  3.   --version             show program's version number and exit 
  4.   (...) 
  5.   Multiprocessing options: 
  6.     --workers=WORKERS   Specify the number of workers, 0 disable prefork mode. 
  7.     --limit-memory-soft=LIMIT_MEMORY_SOFT 
  8.                         Maximum allowed virtual memory per worker, when 
  9.                         reached the worker be reset after the current request 
  10.                         (default 671088640 aka 640MB). 
  11.     --limit-memory-hard=LIMIT_MEMORY_HARD 
  12.                         Maximum allowed virtual memory per worker, when 
  13.                         reached, any memory allocation will fail (default 
  14.                         805306368 aka 768MB). 
  15.     --limit-time-cpu=LIMIT_TIME_CPU 
  16.                         Maximum allowed CPU time per request (default 60). 
  17.     --limit-time-real=LIMIT_TIME_REAL 
  18.                         Maximum allowed Real time per request (default 120). 
  19.     --limit-request=LIMIT_REQUEST 
  20.                         Maximum number of request to be processed per worker 
  21.                         (default 8192). 

工作进程的数量应该和分配到 VPS 的 CPU 核心数一样,或者,如果你想为 PostgreSQL 数据库、cron 任务、或者其它和 Odoo 实例安装在同一台 VPS 上的其它应用预留出一些 CPU 核心,那么你可以将工作进程数设置为一个比 VPS 上可用 CPU 核心更低的值,以避免资源耗尽。

limit-memory-soft 和 limit-memory-hard 参数不言自明,你可以使用默认值,也可以根据 VPS 上的实际可用 RAM 来进行修改。

例如,如果你的 VPS 有 8 个 CPU 核心,以及 16 GB 内存,那么你可以将工作进程数设置为 17(CPU 核心数 x 2 + 1),limit-memory-soft 总值设置为 640 x 17 = 10880 MB,而 limit-memory-hard 总数设置为 68MB x 17 = 13056 MB,这样,Odoo 就会有总计达 12.75 GB 的 RAM。

例如,在一台拥有 16 GB RAM 和 8 个 CPU 核心的 VPS 上,编辑 Odoo 配置文件(如 /etc/odoo-server.conf),并添加以下行:


  1. vi /etc/odoo-server.conf  
  2. workers = 17 
  3. limit_memory_hard = 805306368 
  4. limit_memory_soft = 671088640 
  5. limit_request = 8192 
  6. limit_time_cpu = 60 
  7. limit_time_real = 120 
  8. max_cron_threads = 2 

别忘了重启 Odoo 让修改生效。

正确配置并优化 PostgreSQL

对于 PostgreSQL 优化,及时将它更新到最新版本是一个不错的主意。在 PostgreSQL 配置文件(pg_hba.conf)中,有两个设置需要修改:shared_buffers 和 effective_cache_size。将 shared_buffers 设置为可用内存的 20%,effective_cache_size 设置为可用内存的 50%。

例如,如果 Odoo 安装到了一台 16 GB RAM 的 SSD VPS 上,那么在 pg_hba.conf 中使用如下设置:


  1. vi /var/lib/postgresql/data/pg_hba.conf  
  2. shared_buffers = 3072MB 
  3. effective_cache_size = 8192MB 

重启 PostgreSQL 服务来让修改生效。

同时,也别忘了周期性手动执行 ‘VACUUM’。此操作会将陈旧或临时数据清理干净,但请牢记,它会大量占用 CPU 和磁盘使用。

本文作者:佚名

来源:51CTO

时间: 2024-10-27 21:43:54

开源ERP软件Odoo提速指南的相关文章

开源 ERP 软件 Odoo 提速指南

Odoo 是最流行的 ERP(企业资源计划)软件,它由 Python 编写,使用 PostgreSQL 作为后端数据库.Odoo 社区版是免费的开源软件,它囊括了项目管理,生产.财务.记账和销售管理,仓储管理,人力资源管理,甚至还有更多项目.里面包含了 30 个核心模块,以及超过 3000 个社区模块.Odoo 部署了大量的模块,数据库里也包含了庞大的数据等等,这些都使得这个软件比较复杂,可能会导致效率低下.Odoo 的两个主要瓶颈在于磁盘访问,以及数据库查询时间. 为了提升 Odoo 实例的性

排名最前的6款开源ERP软件比较

问题描述 排名最前的6款开源ERP软件比较:http://bbs.erp100.com/thread-254957-1-1.html

OpenERP vs 其它开源ERP

问题描述 OpenERPvs其它开源ERP由Peter译自原文:http://www.achado.com.au/?q=node/9http://www.openerpchina.org/index.php/topic,239.msg273.html#msg273为何选择OpenERP而不是其它的Openbravo,Compiere,Adempiere,ApacheOFBiz,ERP5,WebERP,Tryton,BlueERP,ERPNext,HeliumV,xTuple?那么比较了下面的数据

蛇打七寸,开源ERP携掌融宝再次出击

本文讲的是蛇打七寸,开源ERP携掌融宝再次出击,大背景下,中国政府已经将实现中国经济转型升级作为重要的战略目标,不仅意识到大企业在推动经济转型升级中的引领示范作用,更看到了数以千万计的中小企业才是决定经济转型成功的关键. 业界呼唤规范化金融服务机构 实际上,中小企业的生存处境非常艰难,特别是在融资方面,与央企6%-7%的贷款利率相比,中小企业要付出20%以上的贷款利率,仍很难获得贷款,以至于很多中小企业因资金链断裂死掉.蛇打七寸,解决中小企业融资难的问题是重中之重.为此,政府加大金融改革推行的力

北京恩信科技开源ERP解决方案

1.需求分析: 随着全球经济一体化的进程,企业竞争的大环境越来越严酷,每家企业都面临更多的挑战,尤其是众多的中小型企业,由于在人才.资金.技术方面的短缺,更是随时面临严峻的考验: 1)竞争对手对客户的争夺: 2)分销代理的忠诚度: 3)客户服务保障的挑战: 4)销售平台的管理效率: 5)库存风险问题: 6)资金周转速度.资金风险控制问题: 7)人才的培养.人才流失的挑战: 8)发掘潜在商机的问题: 9)提高技术创新能力的困惑: 10)保障企业管理平台安全运行的问题: 11)降低管理成本的问题 等

十大开源ERP点评 献给深水区的中小企业和CIO们

原文地址:http://www.oschina.net/news/58437/top-10-erp-software 如今,企业资源规划(ERP)和客户关系管理(CRM)系统的必要性已经被各种组织和企业所认可:ERP和CRM能够直接为企业的业务效率和利润做出贡献. 但 是随着今天企业商业形态的日趋多样化,互联网新经济的蓬勃发展,不同行业的企业都面临颠覆性技术和市场转型的挑战,这导致企业对ERP系统的需求日趋多样 化,而传统ERP系统往往无法满足企业的个性化需求.为了追求更高的业务灵活性.可扩展性

49 款开源办公软件

原文地址: http://www.oschina.net/translate/49-open-source-office-tools   英文原文:49 Open Source Office Tools 顶级开源办公软件,从图形到计算机辅助设计再到网页设计,包罗万象.当然,全部免费下载. 开源办公软件的好处:你可以使用它们从办公效率中节约很多成本.正如你将在下面的列表中看到的,其中一些免费的办公软件取代了价格非常昂贵的商业软件.在某些情况下,可以让一个企业节约数千美元. 在许多方面,下列开源办公

开源ERP真会必死无疑吗?

笔者所在单位曾使用某著名品牌的商业ERP,但以失败告终.后由笔者负责实施了国内一家公司的开源ERP产品,且取得了成功.因此,我对开源ERP非常感激也非常看好,所谓理越辩越明,请各位听听我的理由. 笔者仅根据原文作者的观点提出不同见解,这些见解都来源于实践,希望对企业信息化部门的朋友们有所帮助,个人也认为开源ERP会越走越好,不但不会死掉,而且我坚信开源ERP会成为企业信息化行业的一股主要力量. 最近在网上看到两篇文章,题目分别是:"大话ERP之开源ERP之我观"和"ERP并非

开源ERP的红旗能扛多久?

对关注信息化的媒体人士来说,ERP是再熟悉不过的一种关于企业管理的软件.2000年前后,ERP的概念开始在国内渐渐流行开来.与此同时,ERP的高失败率也是业内公开的秘密.2002年,来自国外众多研究机构的数据表明:全球ERP实施失败率一直高达70%以上,约有50%的项目半途而废.虽然历经几年的实践努力,但这种失败率仍然维持在高位状态.这种全球通病在中国变得更明显,甚至坊间一度流传"ERP100%的失败率"和"上ERP找死,不上ERP等死"等悲观说法.一些ERP项目失