使用Jmeter如何进行负载测试-41

这是一个相当开放的主题,因为针对不同的业务逻辑进行负载测试,需要进行的工作都是不一样的,所以与功能测试一样,性能测试也不应该脱离业务而单独进行,除非你真的有需要这么做。

在进行负载测试之前,你需要先懂得如何编写你的测试脚本,无论是录制还是手动编写脚本,这是执行负载测试的前提,如果没有任何经验,请先参阅基础篇进行基础学习。

在进行负载测试之前,需要了解一些基本的信息

1 待测试业务预期的平均用户数是多少(正常负载) ?

2 待测试业务的高峰用户数是多少(节假日或特殊活动)?

3 针对服务器状态及负载测试可能对服务产生的影响,什么时候适合做负载测试(下班时间或周末)?

4 本次测试的最终目的,服务器达到何种响应是满足需请求的。

5 服务器使用的网络情况,如果服务器存在防火墙或代理问题,找谁可以为我解决这个问题

6 谁负责测试程序的应用开发(通常负载测试运行时可能发现一些应用程序的问题,则需要对应的开发人员进行优化调试)

7 准备一些工具,用于性能监控分析,如:具有服务器root权限的可用账号

负载测试准备工作

在进行负载测试之前,需要进行对应的准备工作:

编写负载测试脚本

测试脚本是做负载测试的基础,编写负载测试时,需要根据实际业务将测试脚本编写好,准备好测试需要的外部变量(如账号)。

编写脚本时,可以根据学习的Jmeter基础知识,进行手动编写,若需要编写大量请求进行测试,则可以使用录制脚本的方式进行脚本编写。

执行负载测试时,断言应该仅针对少量关键接口响应,因为大量的断言会占用压力机本身资源,不利于进行负载测试.

性能指标与并发计算

响应时间:对请求作出响应所需要的时间,其中包括
网络传输时间:N1+N2+N3+N4
应用服务器处理时间:A1+A3
数据库服务器处理时间:A2
响应时间=N1+N2+N3+N4+A1+A3+A2

并发用户数的计算公式

任何计算公式只是对数据进行辅助分析,没有完全固定的计算公式,可靠的并发数计算都应该是根据实际业务与需请求分析而来,以下计算方法供给参考使用(注意,只是一个举例作为参考,实际使用时需要根据被测系统业务进行分析)。

系统用户数:系统额定的用户数量,如一个系统,可能使用该系统的用户总数是1000个,那么这个数量,就是系统用户数。

平均并发用户数的计算:C=nL / T
其中C是平均的并发用户数,n是平均每天访问所测试业务的用户数,L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统),计算时,L与T需要使用相同的时间单位进行计算

并发用户数峰值计算:C^约等于C + 3*根号C
其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。

系统吞度量
一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。

单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间

并发指标优化
通常的,由于实际操作业务时用户的思考时间较长,而用户量较多,这种情况下,如果完全模拟用户操作习惯,则可能造成资源浪费,且实际情况也可能不允许(每台压力机能完成的并发是有限的,而可用的压力机资源也是有限的)。

此时,可以根据用户实际使用情况,减少用户思考时间,在压力机资源允许的情况下,以达到向服务器发送的总请求数不变为目的,从而实现并发指标的降低,进而优化资源利用率。

执行负载测试

完成脚本编写,且完成了测试指标的计算后,则可以选择合适的时间开始执行负载测试,执行测试时,需要注意:

1 尽可能的使用CLI模式执行测试,排除压力机资源占用对测试结果的影响
jmeter -n -t test.jmx -l test.jtl

2 测试脚本中尽可能的不使用监听器(监听器仅用于调试脚本),如果使用了GUI进行测试,则添加 “聚合报告”或“汇总报告”进行监听,执行测试时,一定要禁用或删除“察看结果树”监听器

3 根据服务器实际配置情况,进行阶梯式施压,不断的调整并发用户数,而不是直接最大负载进行测试,这可能由于一些意外情况导致服务器直接崩溃,这通常是不利于测试的。

4应该通过在不同压力下得到的测试结果进行瓶颈分析,而不是单一一次测试结果,通常,单次测试结果很难判断问题所在。

5 执行测试时,压力机与服务器应该处于同一个局域网区,这样可以尽可能的减少网络环境对测试结果的影响,如果测试时环境不允许,压力机与服务器不在同一局域网区域时,需要充分考虑网络环境对测试结果造成的影响并分析测试结果的准确性。随着硬件资源的不断提升,网络环境已经成为最常见的性能瓶颈,此瓶颈制约服务器,也制约压力机。

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值