Odoo平台简介
Odoo(以前叫OpenERP)是世界排名第一的开源ERP系统,最早由比利时一家公司开发,经过十几年发展,目前全世界Odoo的使用者超过2百万人,Odoo被翻译成几十种语言,Odoo社区活跃的开发人员超过5000人。从2012年开始,美国著名IT杂志Info World连续5年评选Odoo为“世界最佳开源软件大奖” ERP领域第一名。
Odoo的底层结构很强大,所有模块都可以根据需要自行安装和御载,所以用户能像搭积木一样建构自己期望的系统。即使完全不安装与ERP相关的模块,仅利用 Odoo 自身的底层框架,也能构建出适合各种用途的系统。Odoo是B/S架构,后端基于Python开发,前端基于HTML5和Javascript技术开发,所有功能和操作界面都能在手机上使用,支持手机自适应。
Odoo系统功能繁多,包含几千个功能模块,如销售、采购、库存、财务、生产、项目管理、CRM、门店零售(POS)、人力资源、车辆管理、午餐管理等等。从8.0开始,Odoo大量增加了电子商务、互联网方面的支持,包括电商模块eCommerce, 企业建站系统CMS,和邮件集成的企业及时消息IM。Odoo不再局限于ERP范畴,因而改名为Odoo。Odoo 8.0中,除了增加互联网功能,另一个大改善是重写了仓库管理模块(WMS),极大提升了WMS的功能和性能。Odoo 9.0中,重写了会计模块,极大增强了会计报表功能,并简化了会计操作。Odoo 10.0中,重写了生产管理功能,增强了MRP功能,简化了MRP操作,同时增加了PLM、QC等功能模块。
传统商业ERP按模块、按用户销售,对于发展迅速的客户,会受到很大的制约。用户购买之后,如要定制适合自身的需求,会受到非常多的限制。官方系统升级后,用户如要升级则需要再次花钱。如果不升级,按一般系统发展规律,5-7年将不再适应公司发展要求,又要重新寻找合适的系统。Odoo则非常开放,所有模块都免费下载,没有用户数限制,模块可以任意安装、卸载和升级。
报告目标
Odoo作为世界排名第一的开源ERP系统,目前发展势头很快,软件功能不断改善,版本更新很快。笔者最近5年一直在研究这个软件,陆续实施过一些案例,有成功的,也有不太成功的。这些年,笔者一直在想,这个软件到底能做什么,不能做什么,适合做什么,不适合做什么?
由于是开源软件,软件背后没有一个强有力的商业推广公司,甚至连成体系的推广文档都没有。加之软件功能在快速发展,这几个问题不是三言两语能讲清楚的。因而一直找不到足够权威的人来帮忙解答这些问题。
为了解决自己的疑惑,同时也将我们这些年的研究经验发布出来,给有ERP需求的各位多一个参考选择。
Odoo性能测试报告
测试目的
1) 在XD公司给定的硬件环境,网络环境状况,多并发用户情况下,测试Odoo系统的响应速度;
2) 根据测试结果,判断Odoo是否可以满足XD公司的性能要求。
测试背景
1) XD公司现行CRM系统响应速度慢,各地分公司业务员抱怨较大;
2) XD公司全国各地分公司有35家,代理公司有25家。分布于各地分公司及代理公司的业务员约700名,预计3年内人数将达到1500人;
3) 在XD公司给定的硬件环境,网络环境下,基于Odoo的新系统能否满足XD公司现在及将来发展后的性能要求。
测试范围
本次测试在XD公司总部办公室进行,主要测试服务器的性能(包括Odoo服务器和PostgreSQL数据库服务器),不测试网络状况,不测试客户机的状况,不测试各地分公司的访问状况。
测试环境
【客户机】
联想笔记本电脑,i5双核CPU,8G内存,SSD硬盘。
【Odoo服务器】
XD公司虚拟机,12核CPU,16G内存
【Odoo数据库服务器】
XD公司虚拟机,12核CPU,16G内存
【网络环境】
XD公司总部局域网,客户机和服务器间网络状况极好。
测试需求、内容、工具及方法
测试需求
本次测试需求是:
1) 测试XD公司700多名系统用户(员工),高峰期200名用户同时登录系统的情况下,Odoo系统的响应速度能否达到XD公司的要求。
2) 本次测试在XD公司总部办公室进行,主要测试系统软件及服务器的性能,不考虑异地网络延迟问题。
并发数估算
根据统计规律,软件系统的并发用户数(同时操作系统的用户数)的估算公式如下:
(1) 平均并发用户数: C = n * L/T
(2) 并发用户数峰值: C’ ≈ C + 3 * C的平方根
公式(1)中,C是平均的并发用户数;n是登录用户(在线用户)的数量;L是登录用户的平均在线时间,T指考察的时间段长度。
公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式假设用户行为符合泊松分布规律。
XD公司的用户情况如下:
1) 总用户数是800,实测高峰在线用户数200;
2) 大部分用户(超过500)是销售业务员,系统登录时间较短,平均每天在1小时以下,销管和财务人员登录时间较长,平均每天估算为4小时;
3) 所有用户的每天的平均登录时间估算为2小时;
4) 用户只在上班时间使用系统,因而考察时间段为上班时间,8小时。
XD公司的并发用户数估算如下:
平均并发用户数 C = n * L/T = 200 * 2/8 = 50
并发用户数峰值 C’ = C + 3 * C的平方根 = 50 + 3 * 7 = 71
用户响应时间标准
软件系统的用户响应时间,业界有一个普遍的标准,即2/5/10原则。也就是说,用户一次操作,如果系统在2秒之内响应,用户会认为是“非常有吸引力”的用户体验;如果在5秒之内响应,会认为“比较不错”的用户体验;如果在10秒内响应,会被认为“糟糕”的用户体验;如果超过10秒还没有得到响应,那么大多数用户会认为这次请求是失败的。
测试内容
本次测试根据XD公司的业务特点,测试了五个代表性操作:
1) 客户查询,输入关键字,查询客户,测试系统响应时间;
2) 新建销售合同,输入客户、课程等信息,点击保存,测试系统响应时间;
3) 客户打款单列表,点击“客户打款单”菜单,系统显示打款单一览,测试响应时间;
4) 打开打款单,随机点击一览中的一条客户打款单,测试系统响应时间;
5) 打款单审核,点击打款单审核按钮,测试系统响应时间。
为了分析不同并发用户数情况下,系统的响应速度的变化,本次测试将依次测试1并发,50并发,100并发,150并发,200并发情况下,上述五个操作的响应时间。
经调查,XD公司现在的CRM系统有客户69080个,客户合同4060条,打款单17890条。本次测试系统导入了XD公司6万多条客户信息,创建了2万多个模拟客户合同。
测试工具
主要测试工具为JMeter 测试软件,JMeter是一款广泛应用的Web系统性能测试工具。JMeter是开源软件,JMeter的详细介绍及下载链接参考: http://jmeter.apache.org/ 。
