当前位置:今日智造 > 智造快讯 > 热门直播 > ERP

开源ERP软件Odoo提速指南

2017/7/19 18:20:11 人评论 次浏览 来源:odoo中文网 分类:ERP

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

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

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

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

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

其它 Odoo 优化包括:

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

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

#updatedb#locateopenerp-server/usr/bin/openerp-server

执行以下命令:

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

该命令的输出结果如下:

Usage:openerp-server[options]Options:--versionshowprogramsversionnumberandexitMultiprocessingoptions:--workers=WORKERSSpecifythenumberofworkers,0disablepreforkmode.--limit-memory-soft=LIMIT_MEMORY_SOFTMaximumallowedvirtualmemoryperworker,whenreachedtheworkerberesetafterthecurrentrequest.--limit-memory-hard=LIMIT_MEMORY_HARDMaximumallowedvirtualmemoryperworker,whenreached,anymemoryallocationwillfail.--limit-time-cpu=LIMIT_TIME_CPUMaximumallowedCPUtimeperrequest.--limit-time-real=LIMIT_TIME_REALMaximumallowedRealtimeperrequest.--limit-request=LIMIT_REQUESTMaximumnumberofrequesttobeprocessedperworker.

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

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

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

例如,在一台拥有 16 GB RAM 和 8 个 CPU 核心的 VPS 上,编辑 Odoo 配置文件,并添加以下行:

vi/etc/workers=17limit_memory_hard=8053limit_memory_soft=6710limit_request=8192limit_time_cpu=60limit_time_real=120max_cron_threads=2

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

正确配置并优化 PostgreSQL

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

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

vi/var/lib/postgresql/data/pg_shared_buffers=3072MBeffective_cache_size=8192MB

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

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

免责声明:本文系网络转载,版权归原作者所有,如涉及版权,请联系我们删除,QQ:1138247081!

共有条评论 网友评论

验证码: 看不清楚?