随着药店整合并购提速,药店连锁将很快会出现超过万家门店的企业。对于这些发展迅猛的药店连锁来说,业务扩张过程中出现软件系统卡顿,是大家普遍遇到且非常担忧的问题。软件系统可承载的门店规模到底是多大?为了搞清楚这个问题,海典的工程师们花了数个月时间,做了一个实验。
实验方法
这项实验的全称叫“压力测试”,简称压测。是指将软件环境安装在测试服务器上,利用第三方专门的压测软件,模拟若干用户同时操作软件进行收银、出入库、数据查询等场景,观察在此过程中收集系统响应速度和资源消耗数据,并不断加大并发数量和测试压力,直到反馈异常,以找到系统可承载的最大负荷临界点。
本次实验针对的是海典软件H2-ERP系统,采用阿里云服务器,服务器配置(如下图所示):
实验过程
实验小组首先对未作任何优化改进的H2-ERP系统进行了压测。结果显示,当不超过2000个用户同时进行操作,系统比较顺畅。但是当并发操作的用户数超过2000时,系统开始出现异常。实验表明,未经优化的H2-ERP系统的并发数在2000左右,这意味着大概仅能支撑2000家门店的规模。如何才能支撑更大的规模?实验小组陷入沉思。
在接下来的时间里,实验小组通过聘请专业的外部顾问,参阅大量资料,先后摸索和总结了一系列优化技术和方案,包括横向分库技术、纵向分库技术、负载均衡方案、读写分离方案、事务日志同步方案,等。反复的压测实验证明,这些方案切实能有效提升H2-ERP的负载能力。
见证
2018年4月25日,对于实验小组来说是一个特别的日子。通过两个月的优化,实验小组决定开展一次公开的H2-ERP的压力测试。早上9点,实验小组的成员早早来到办公室,配置软件、录制脚本,一切都有条不紊地进行。14点20分,由开发部经理杨铉按下了开始压测的按钮。电脑屏幕上的各项数据随即快速跳动。
并发2000,正常…
并发5000,正常…
并发10000,正常…
并发15000,正常…
并发20000,正常!
最终,在现场客户以及北京方正公证处公证员的共同见证下,实验小组通过使用多台服务器形成群组,成功实现了20000个并发用户的压力测试,在20分钟测试过程中累计产生了:31万笔零售**单据、93万行零售**明细、1.1万张请货单据、22万请货明细、7千张采购单据、14万行采购明细等海量数据。压测结果显示软件操作顺畅,各项指标正常。自此,海典软件正式宣布H2-ERP成为医药流通行业首个实现2万家门店压力测试的软件产品!
总结和延伸
通过此次实验,海典软件成功实现了2万家门店的压力测试模型。更重要的是,该套解决方案具备良好的扩展性,通过增加服务器的数量,即可支撑更大规模门店,实现对3万家、5万家甚至是10万家门店的支持。医药流通行业软件系统的规模瓶颈被彻底打破!
责编:汉网