需求:验证某系统在一定并发用户(200以上)下,网络带宽由100M限制为4M后,各项性能指标变化不大
需求分析:因为只是验证系统性能受网络带宽影响不大,故选取一个主业务流程来测试。
数据准备:为模拟真实系统场景使用不同用户操作,故先用csv data set config批量造2000个用户
录制脚本:原理:在原本正常的浏览器与服务器交互中间,添加一个代理,代理服务器会记录所有的请求。
1.在浏览器设置一个代理,指定本地一个未占用端口(netstat -an查看端口占用情况),比如8888
2.然后jmeter设置一个代理服务器,监听8888端口,这样所有经过浏览器的交互请求,都会被记录,这里可以设置包含和排除模式,可以过滤掉一些不需要的图片加载和静态页面(如下图所示)。
3.在测试计划下新建一个线程组(起名集中新增用户),用来存放录制的脚本,然后在代理服务器那选择该线程组
4.点击开始后,弹出以下窗口,就可以开始进行业务操作了。
5.录完后删掉无用请求,只保留.do结尾和.JSP结尾的请求,然后修改脚本,将用户账号、id参数化,关于如何参数化设置请查看我以前的文章。
6.先设置并发用户200,测试系统正常,然后将并发用户改成500,系统就开始失效了(接口响应大面积失败),然后按100依次递减找拐点用户数。
依次测试400并发用户、300…最后发现系统支持最大并发用户数为300(此时接口请求都能正常响应),也满足压测要求的200以上。
7.300个并发用户,循环10次,tps有327,限速后tps也差不多,变化不大,结果证明系统在300并发用户下,性能是不受4M网络带宽影响的,本次验证通过。报告结果如下:
期间遇到一个问题:登录请求已经成功,但是后面的接口请求,返回的依然是"请登录",该问题是因为没有添加cookie管理器导致,添加后问题解决。