Jmeter接口压测示例

时间:2022-07-22
本文章向大家介绍Jmeter接口压测示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Jmeter接口压测示例

Apache JMeter™Apache 组织开发的一款开源软件,是典型的纯 Java 开发的应用程序,可以在不同平台比如WindowsLinuxmacOS系统上进行软件测试。JMeter主要用于应用程序的功能负载测试以度量软件的性能,也可以用于其他类型的测试比如接口测试,API测试等。

下载地址: https://jmeter.apache.org/download_jmeter.cgi

详解jmeter线程组

Threads (Users)线程 用户

  • setup thread group 常规线程组前置操作 例如测试前的登录,注册等操作
  • teardown thread group 常规线程组后置操作 例如 退出登录进行操作
  • thread group(线程组) 常规线程组 正常接口测试 我们就以这个来演示

thread group基本设置

  • 线程数

线程数可以理解为并发数,他们互不干扰.

  • ramp-up period

设置启动所有线程所需的时间,我们设置了100个线程, 并且ramp-up period是1秒, 那么Jmeter使用1秒启动100个线程,每个线程之间相隔时间 = 1 / 100

这个值设置比较小,线程数又设置这么大,对系统负载是比较大的,我们可以根据机器调整一下

  • 循环次数

设置线程组在结束前每个线程的循环次数,如果设置为1,那么JMeter在停止前只执行测试计划一次,循环开始执行时间几乎与第一遍执行时间并行

http请求设置

请求响应断言

对接口进行断言,如果是正常API的话用JSON来断言,这里我就直接用响应码断言

同步定时器 并发测试

同步定时器是jmeter中一个比较重要的定时器,同步定时器,相当于一个储蓄池,累积一定的请求,当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起并发,可以用来做大数据量的并发请求。

最近公司开发了一个转账功能,需要最转账接口做一个并发测试,测试账户余额剩下10的时候,同时发起两个转账请求,请求数额均为10,测试能不能发送成功。自己的话很难做并发测试,我们开发也可以使用这种工具对一些必要的接口进行测试

  • 模拟用户组数量

每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。如果设置为10,即集合10个线程等待,同时发送请求。设置此数量不能超过线程组中的线程数量。

  • 超时时间以毫秒为单位

如果设置为0,Timer将会等待线程数达到了模拟用户组数量中设置的值才释放。如果一直没有达到,则会一直等待,除非手动关闭执行。如果大于0,那么如果超过超时时间中设置的最大等待时间(毫秒为单位)后还没达到 模拟用户组数量 中设置的值,Timer将不再等待,释放已到达的线程。默认为0

测试结果查看