jmeter压测使用方法介绍及结果分析

1、录脚本

cmd 输入 jmeter 启动jmeter

添加线程组,添加http代理服务器

 

 

 

打开浏览器代理

 

 

 

导入ca证书

 

 

 

证书位置

 

 

 

设置好代理,网页定位到需要录制的地方,开始录制

 

 

 

录制完,选择需要的信息,其他删掉,根据需要添加请求头、断言、查看结果树、聚合报告

添加服务器监听器

 

 

 

2、线程组设置线程数,500个线程同时跑,一共持续10分钟,点击启动,线程数参考需求

 

 

 

 3、结果分析

设置线程数,先设置接近需求的数量,看样本数量,通过后,设置极限值

 

 

 主要看以上几个参数是否符合需求,需求范围内,错误率应为0,响应时间应小于1s

服务器资源占用,配合运维,看内存、网络、cpu占用是否过多

 

 

 

 

 网络单位换算:1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024字节

b是比特,是最小单位,B是字节,B=8b,K、M、G、T是1024倍的关系

 问题分析:报错后先看脚本是否有问题,确认脚本没问题,查看单接口是否有问题

接口调试通过后,如果持续加压导致的报错,查看数据库、内存是否溢出,或者是否cpu、网络占用过高导致响应缓慢,如果数据库内存网络占用都不高,分析是否是清理session机制导致,例如登陆后,重新打开页面,某些缓存信息会自动清空,这种操作常有,是一种安全保护机制,例如token清空,但是压测会不停打开页面,所以会不停的清空再读取再清空,导致冲突,数据进不到数据库,但是导致响应慢,可以单压有问题的接口查看结果并分析

网络占用过大,分析是代码问题,cpu和内存占用过高或者不变,同样分析代码问题

性能指标问题分析

cpu、内存、数据库、磁盘、网络、错误请求、响应时间、tps

错误率为0

95%响应时间<100ms

tps根据具体需求

 

性能项 资源 评价
CPU占用率 70%
85%
90%+ 很差
磁盘I/O <30%
<40%
<50% 很差
网络 <30%带宽
运行队列 <2*CPU数量
内存 没有页交换
每个CPU每秒10个页交换
更多的页交换 很差

tps上不去原因:网络带宽、垃圾回收机制、数据库、硬件资源、压力机配置、业务逻辑复杂、产生缓存、压测脚本参数配置

随着线程数增加,报502和504:服务器承受不住,系统外部服务调接入层方法,接入层业务逻辑采用RPC 同步方式实现,并发大,方法可用率下降,同时调用次数也会急剧上升,导致大量的502错误。建议:异步实现并添加缓冲队列。调整Nginx、服务器配置参数,优化后,综合考虑TPS和错误率,找到服务器能承受的最大压力值。

 2、接口超时原因:网络慢、执行进程多、接口问题调用的方法多或者代码逻辑问题,或者调用其他的接口,其他的接口返回慢了

 

posted @ 2021-10-21 19:05  小烟火  阅读(1790)  评论(0编辑  收藏  举报