之前讲的Jmeter算不上是性能测试,只是用Jmeter做接口测试。现在我们开始进入实际的性能测试。开始前你应该对Jmeter有了一定的了解,把前面Jmeter内容看一遍应该可以入门了。

Jmeter与locust

locust除了可以做接口的性能测试以外,做性能测试工具开发很有优势,框架扩展、接口封装都很方便。只是locust尚在发展阶段,不像Jmeter这么成熟。虽然Jmeter不如Loadrunner能完全模拟页面性能测试,但就目前来说我也不知道除了Jmeter还有什么免费的好用的性能测试工具。 接下来我们就开始Jmeter性能测试学习吧。

Jmeter性能测试

概念和一些性能指标

一个用户反复登录100次,这不是性能测试,100个用户同时登录一次,这属于性能测试。也就是模拟多用户发起请求,获取性能指标。

常用性能指标

  • avgRT:平均响应时间——反应一个大致的情况,不是特别准确,因为最小值或者最大值都会拉低/拉高这个平均值,所以工作中比较认可的是90%的响应时间,在这个平均响应时间之下。
  • TPS:服务器每秒处理的事务数
    • 衡量服务器处理能力的最主要的指标
    • 假设TPS最大能力是100,刚开始吞吐量慢慢增加,当吞吐量小于TPS时,TPS数值随着吞吐量增加而增加;当事务数超过服务器每秒能处理的最大事务数时,多出来的事务就会排队等待处理,日积月累,等待处理的事务数越来越多,占用了CPU、内存等资源,计算的时候效率就会降低,就会出现TPS曲线下降的情况——资源不够用了,出现瓶颈了。
  • 吞吐量:网络中每秒传输的事务数

“事务:一个请求行为,一个事务可能是多个接口。是从发起,到网络传输,到收到响应,是一个完整的事务。 ”

  • 吞吐率:每秒钟能通过多少kb的数据
  • 服务器资源利用率
    • CPU、内存、IO的利用率
  • 并发用户数:同一时间发起请求的用户数
    • 集合点:同一时间,多个人发起相同请求
    • 广义并发:同一时间发起相同、不同请求【Jmeter常用】
    • 狭义并发:同一时间发起相同请求
  • 负载测试:逐步增加用户数/负载,测试系统性能变化,并最终确定系统所能承受的最大负载量区间。判断方法:
    • 有没有报错
    • tps下降
    • 响应时间变长【工作中APDEX(用户满意度)时间一般认定为1.5s】
  • 压力测试:在一定的性能压力下,持续运行一个比较长的时间,看系统服务和各资源利用情况稳定性。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!