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

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

开源ERP软件Odoo提速指南相关推荐

  1. 开源 ERP 软件 Odoo 提速指南

    Odoo 是最流行的 ERP(企业资源计划)软件,它由 Python 编写,使用 PostgreSQL 作为后端数据库.Odoo 社区版是免费的开源软件,它囊括了项目管理,生产.财务.记账和销售管理, ...

  2. python开发erp系统odoo_开源erp软件odoo在线开发环境部署实录

    1.前言 pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于 ...

  3. 开源erp软件odoo在线开发环境部署实录

    1.前言 pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于 ...

  4. 【魅力开源】第7集:开源ERP系统Odoo发展史(Odoo中文社区野史2019版)

    文章目录 前言 历程 后记 前言 开源 ERP 系统 Odoo 的发展史. 历程 2002 年比利时13 岁开 始学习编程序的 Fabien Pinckaers 所创建创办了Tiny Sprl 公司. ...

  5. 开源ERP系统Odoo中国发展史

    开源ERP系统Odoo中国发展史 根据上海开阖-Jeff最初文稿整理 开源ERP系统Odoo采用Python作为其开发语言,从诞生之日已有15年历史,在中国也有10年历史了. 开源软件(GNU通用公共 ...

  6. 跟我学,轻松安装开源ERP软件Open ERP

    跟我学,轻松安装开源ERP软件Open ERP http://www.linuxeden.com/html/solution/20090701/66521.html Open ERP原名Tiny ER ...

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

    为何选择OpenERP而不是其它的openbravo, Compiere, ADempiere, Apache OFBiz, ERP5, webERP, Tryton, BlueERP, ERPNex ...

  8. 盘点世界排名最前的5款开源ERP软件

    盘点世界排名最前的5款开源ERP软件 盘点世界排名最前的5款开源ERP软件 « 于: 十一月 03, 2012, 11:15:42 下午 » 引用 Add Multi Quote Remove Mul ...

  9. 世界排名第一的永久免费开源ERP:Odoo生产制造管理功能概述

    本文节选自Odoo亚太金牌服务机构[开源智造]所编写的<ERP真的免费不花钱--Odoo应用指南>如需获取完整的知识内容,请至开源智造官网免费获取.感谢网友一键三连:点赞.转发.收藏,您的 ...

最新文章

  1. 工作后,拉开你和同龄人差距的,不是出身,不是努力,而是……
  2. 北京大学崔斌教授组招收图机器学习、AutoML等方向科研实习生
  3. python跳出if条件_python的if条件判断
  4. Tornado-Lesson05-模版继承、函数和类导入、ui_methods和ui_modules
  5. 没有完美的软件:编程永远不容易
  6. c语言用宏定义常量_使用宏定义常量以在C的数组声明中使用
  7. jitter 如何优化网络_如何做好关键词优化网络?
  8. [***]HZOI20190714 T2熟练剖分
  9. XPath最通俗的教程(ZZ)
  10. CDH(Cloudera)与hadoop(apache)对比
  11. 杨辉三角Python
  12. 【Python】基于Python的百度迁徙5——实时拥堵与拥堵指数(附代码)
  13. resnet50能用cpu跑吗_用最简单的方式训练史上最强ResNet-50,性能超过魔改结构的ResNeSt...
  14. LU分解、LDLT分解和Cholesky分解
  15. python面试题:python计算股票收益最大化
  16. 算法Training——数学规律
  17. 计算机中cpu是指什么意思,CPU是什么?CPU又是什么意思?
  18. python 方差_python 方差_python 方差齐性检验_方差 python - 云+社区 - 腾讯云
  19. Ubuntu22降版本
  20. 串口termios结构体的详细设置

热门文章

  1. 蓝牙安全管理(Security Manager,SM)之配对、鉴权和加密
  2. 2019 年社保抵扣所得税说明
  3. 7.3结构体是纸老虎,旧知识新用法
  4. Android Q初窥(二)行为变更
  5. element表格固定某一行_element 表格固定列
  6. 关于精准测试的一点思考
  7. 什么是封装java_什么是封装java
  8. Relative Uncertainty Learning for Facial Expression Recognition
  9. 华为2288H V5 重装系统无法开机问题
  10. font-smoothing