一、压力测试的定义
压力测试检测对象是系统或软件,常见测试目标为响应时间、吞吐量、并发数。
二、压力测试的步骤
1、明确测试目标
2、设计测试场景
3、准备测试环境
1)jmeter中安装插件:PerfMon Metrics Collector
2)部署服务器代理(Server Agent)测试人员一般是无权限的,需要与后端配合
- JMeter Plugins官网下载Server Agent压缩包
- 解压到目标服务器指定目录
- 服务器命令行进入Server Agent解压后的目录,执行命令启动Agent
- java -jar startAgent.jar
- 修改监听端口号
- java -jar startAgent.jar --udp-port 4444 --tcp-port 4444
4、选择测试工具
5、执行测试
6、分析结果
7、输出报告
三、本地配置代理
1、手动设置代理

四、Jmeter配置测试计划详细步骤
1、创建线程组
2、添加PerfMon监听器
添加->监听器->jp@gc - PerfMon Metrics Collector
3、添加录制控制器
线程组->添加->逻辑控制器->录制控制器

4、配置监听器

5、添加HTTP代理服务器
点击测试计划添加->非测试元件->HTTP代理服务器

6、点击启动进行录制操作遇到的问题和解决方法
(1)JMeter 尝试生成 HTTPS 录制所需的 SSL 证书报错

(2)解决方法为删除旧的证书重新生成 JMeter CA 证书
定位到 JMeter 的 bin 目录,删除以下文件:
* ApacheJMeterTemporaryRootCA.crt
* proxyserver.jks(如果存在)
(3)生成新证书

输入命令:keytool -genkeypair -alias "jmeter" -keyalg RSA -keystore "D:\Program Files\apache-jmeter-5.5\bin\proxyserver.jks" -storepass 123456 -keypass 123456 -validity 365 -dname "CN=baidu.com, OU=JMeter, O=Apache, C=US" -ext "san=dns:baidu.com"
(4)浏览器导入JMeter CA 证书
(5)启动录制
五、压测实例
实例一、100个学员正常登录系统,是否能正常登录
- 登录响应时间不超过5S
- cpu使用率不超过80%
- 内存使用率不超过75%
分析:先设置40个学员录、再设置60、100、200
使用工具:jmeter+navicat+linux(windows)
操作步骤:
Navicat 查询数据导出为csv:Select mobile from student
jmeter下载插件
- 下载Jmeter plugins Manager
- 安装插件PerfMon (Servers Performance Monitoring)
- 下载 ServerAgent 安装包上传至服务器(windows本地启动则不直接点击双startAgent.bat)
- jmeter新建测试计划->添加线程组
线程组下添加配置原件:http信息头管理器、用户定义的变量(存验证码)、csv数据文件设置(上传准备好的csv数据文件)、jp@gc - PerfMon Metrics Collector性能监控插件(观测cpu\内存使用情况)
添加事务控制器(勾选第一个数据)

事务控制器下添加:同步定时器(设置用户组数量和超时时间)、http请求
添加聚合报告查看结果
遇到的问题1:startAgent.bat点击后闪退
解决方法:(1)ServerAgent目录下安装slf4j-jdk14-1.7.15.jar包
(2)ServerAgent/lib目录下安装slf4j-api-1.7.30.jar和slf4j-log4j12-1.7.25.jar包
(3)如若还不能解决则删除ServerAgent/lib目录下的log4j.jar包,添加log4j-2.0.3.jar包
(4)命令启动ServerAgent.bat
java -jar cmdrunner-1.0.1.jar所在目录--tool PerfMonAgent
实例二、AI对话接口压力测试
测试目标:
- 响应时间:95%的请求响应时间<=1.5秒
- 吞吐量(系统在单位时间内处理的有效请求数单位:请求 / 秒,QPS 或 TPS):>=500请求/秒
- 错误率:(断言失败数+连接异常数)/总请求数*100% ---http错误率<=0.5
- 稳定性:持续30分钟高并发下无宕机
1009

被折叠的 条评论
为什么被折叠?



