- 获取压测需要的参数;
# 模拟压测所需数据的处理方式
import json
def write_txt_test():
a = list(range(1000000)) # 模拟的压测所需参数
with open("test_write.txt", "w+") as f:
i = 0
n = 30 # 每次压测的数量
length = len(a)
num = length // n
# 以列表的方式将数据存到txt文件中
# 以回车为分隔符
for _ in range(num):
k = a[i:i+n]
i = i + n
print("k--------", k)
f.write(json.dumps(k))
f.write("\n")
if length % n != 0:
k = a[num*n:]
print("k-------------", k)
f.write(json.dumps(k))
f.write("\n")
- JMeter的基本配置
- File-->New,新建测试计划;
- 右键测试计划,add-->thread-->thread group,如图:
- 设置线程组的相关配置——线程数(模拟用户数,多个线程用于模仿对服务器的并发访问)、Ramp-UpTime(启动线程需要的时间)、循环次数(设置线程组中的每个线程循环次数),如图:
- 设置采样器HttpRequest,如图:
- 设置监听器——view result tree和summary report,如图:
- 设置请求头和请求数据源,如图:
- 关于请求数据源的设置主要有数据路径和变量名称(后面监听器中引用所需要),如图
- 变量的引用方式,通过${变量名},如图:
至此,关于JMeter的基本设置已完成,点击上面的绿色箭头,就可以对接口进行压测了。
压测结果
结果说明:
样本(Samples):取样器请求的数量
平均值(Average):请求(事务)的平均响应时间
最小值(Min):请求的最小响应时间
最大值(Max):请求的最大响应时间
标准偏差(Std.Dev): 响应时间的标准方差
异常 %(Error):请求(事务)错误的数量
吞吐量(Throughput):每秒取样器执行的数量,相当于 TPS
接收 KB/sec(Received KB/sec):每秒接收的千字节数
发送 KB/sec(Sent KB/sec):每秒发送的千字节数
平均字节数(Avg.Bytes):取样结果返回的平均大小