当前位置: 首页 > 测试知识 > LoadRunner大型项目实战:ERP系统并发500用户压测全流程
LoadRunner大型项目实战:ERP系统并发500用户压测全流程
2026-03-23 作者cwb 浏览次数55

在ERP系统上线前进行500并发用户的压力测试,先需要搭建贴近生产环境的测试环境。


以某离散制造企业为例,日常有数百名销售、计划、生产人员同时在线操作ERP系统。测试环境的服务器配置应保持和生产环境相同或按比例缩放,数据库需要准备和生产环境数据量级相近的测试数据(可通过数据脱敏实现)。如,测试500并发时,数据库中的订单、物料、客户信息至少需要达到数万条甚至十万条级别,这样才能真实反映数据库查询、索引效率。

在需求分析阶段,不能只看“500人同时在线”这个数字。需要细化:这500人具体在做什么?登录、查询库存、创建订单、审批流程还是生成报表?不同操作对系统的压力完全不同。根据实际业务统计,500在线用户中真正同时进行重点操作的并发用户可能只有100-150人。

脚本开发从录制到参数化

脚本开发使用LoadRunner的Virtual User Generator组件。录制前需要进行几项重点设置:选择Web(HTTP/HTML)协议,在Recording Options中勾选support charset,utf-8防止乱码。


以ERP系统的典型业务流程为例,脚本结构一般包含三个部分:vuser_init存放登录操作,Action存放重要业务(如创建订单),vuser_end存放退出操作。对于500并发测试,需要在重要业务前插入集合点(Rendezvous Point),保证所有虚拟用户同时发起请求。事务(Transaction)的插入也很重要-在开始操作前插入lr_start_transaction,在操作完成后插入lr_end_transaction,这样才能准确统计响应时间。


参数化是脚本开发的重点步骤。500个并发用户不能使用同一个账号登录,否则服务器端的缓存机制会让测试结果失真。需要准备500个真实的测试账号,通过参数化方式让每个虚拟用户使用不同账号。参数化时,将用户名设置为参数,类型选择File,取值规则选择Unique保证每个用户使用不同账号,更新规则选择Each iteration保证每次迭代都换账号。


场景设计500并发的负载方法

场景设计在LoadRunner Controller中完成。对于ERP系统500并发测试,推荐采用阶梯式加压方法:

初始阶段:以50并发运行5分钟,证实基础功能稳定性

加压阶段:每2分钟增加50个用户,直至达到500并发

峰值维持:500并发不断运行30-60分钟,观察系统稳定性

释放阶段:每5秒释放5个用户

这种设计的好处是可以观察系统在不同负载水平下的性能变化,找到性能拐点。

关于思考时间(Think Time)的设置,这是很多测试新手容易忽视的细节。真实用户在操作之间有停顿,如填完订单后会花几秒检查内容再提交。不加思考时间的测试会造成超现实压力,500并发可能把服务器压垮,而真实业务场景下服务器根本没那么大压力。实践经验表示,在脚本中加入5-10秒的思考时间后,同样的500并发场景下,服务器CPU占用率可以从99%降到70%左右。

还需要设置IP欺骗(IP Spoofer)功能,让每个虚拟用户使用不同的IP地址访问服务器,避免单一IP触发系统的防护机制。在Controller的Scenario菜单中启用“Enable IP Spoofer”,并在Load Generators设置中配置IP地址池。


执行和监控实时追踪标准

场景运行过程中,需要在Controller仪表盘实时监控以下重要标准:

Vuser运行状态:正在运行、准备运行、已停止的虚拟用户数量

事务响应时间:平均、最大、最小响应时间的变化趋势

吞吐量:每秒服务器处理的请求数

错误率:事务失败的数量和比例

服务器资源利用率:CPU、内存、磁盘I/O


同时需要监控被压测的ERP系统本身。可以通过Controller添加Windows资源监控或Linux资源监控,重视CPU使用率(峰值应低于85%)、内存使用情况、数据库连接池状态。如果CPU使用率长期维持在95%以上,说明服务器配置已到短板。


文章标签: 软件测试 测试工具
咨询软件测试