开源ERP软件Odoo提速指南

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

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

开源ERP软件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
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
6月前
|
关系型数据库 分布式数据库 数据库
沉浸式学习PostgreSQL|PolarDB 19: 体验最流行的开源企业ERP软件 odoo
本文主要教大家怎么用好数据库, 而不是怎么运维管理数据库、怎么开发数据库内核.
676 1
|
3月前
|
搜索推荐
定制一套ERP系统多少钱 ERP软件定制开发费用
一套好用的erp软件系统能够给企业带来很多的好处,例如提高企业工作效率、降低企业经营成本等,可以让企业用更少的人创造更多的价值。 现在越来越多的企业想要开发一套ERP软件,企业需要为ERP定制开发的价格做打算。那么ERP软件定制的价格受哪些方面的因素影响呢?ERP系统多少钱呢?下面白码低代码平台就给大家介绍一下定制ERP软件费用由哪些因素构成。
|
5月前
|
数据可视化 开发工具 数据安全/隐私保护
天津ERP软件定制开发公司
天津ERP系统近几年发展十分迅速,越来越多的天津企业认识到ERP系统的重要性,ERP系统帮企业管理切实有效降低了成本,那么天津ERP软件开发公司哪家好,在天津定制ERP系统选哪个公司呢,下面白码为你介绍下天津ERP软件系统开发公司。
|
6月前
|
监控 供应链 前端开发
ERP 软件领域的 frontend office 和 backend office
ERP 软件领域的 frontend office 和 backend office
67 1
|
7月前
|
关系型数据库 分布式数据库 PolarDB
|
7月前
|
安全 网络安全 数据库
.kat6.l6st6r勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
随着科技的不断进步,我们的生活越来越离不开数字化数据。然而,这也让我们面临了更多的网络威胁,其中之一就是勒索病毒。本文91数据恢复将介绍一种名为.kat6.l6st6r的勒索病毒,以及如何恢复被其加密的数据文件以及如何预防这种威胁。
199 0
|
存储 监控 安全
milovski-V-XXXXXX勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
    在当今互联网时代,勒索病毒已成为企业信息安全面临的重要挑战之一。近期,一款名为“milovski-V-XXXXXXXX”的勒索病毒在企业中再次出现,给企业的生产、经营带来了信息安全的威胁。在面对勒索病毒时,企业需要采取一系列应对措施,其中之一就是数据恢复。milovski-V-XXXXXXXX勒索病毒是一种采用强加密算法加密企业数据库的勒索病毒,当企业遭受该病毒攻击时,将无法正常使用数据库,对企业的生产和经营产生影响。
milovski-V-XXXXXX勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
中小企业外贸erp软件有什么特点?
从外贸企业角度出发,中小企业想要选择适合自己企业发展需求的外贸erp系统,先看自家企业的需求,是业务管理亦或者财务管理或客户管理。从软件角度出发,中小外贸企业应该选择功能完善、技术成熟的erp品牌,不仅软件的扩展性与实用性很重要,售后服务也很重要。
211 0
|
BI PHP 数据库
这是我见过PHP里最好用的开源免费进销存/ERP系统(付源码)
基于thinkphp+layui开发。功能包含:采购、销售、零售、多仓库管理、财务管理等功能 和超详细的报表功能(采购报表、销售报表、零售报表、仓库报表、资金报表等)
13523 0
这是我见过PHP里最好用的开源免费进销存/ERP系统(付源码)
中小企业外贸软件ERP服务平台解决方案
很多外贸企业都希望借助外贸客户管理系统帮助企业管理客户、提高效率。但也有企业认为外贸客户管理系统是大型企业才用的,中小型企业用不到。
272 0
中小企业外贸软件ERP服务平台解决方案