一、为什么要进行性能测试?
1、评估当前系统的能力
2、寻找性能瓶颈,优化系统性能
3、评估软件是否满足未来的需要
4、招聘需要
二、什么是性能?
1、时间:系统处理用户请求的响应时间
2、资源:系统运行过程中,系统资源的消耗情况
三、性能测试概念
通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
四、性能测试的分类
1、基准测试
2、负载测试
3、稳定性测试
4、压力测试
5、并发测试
五、性能测试的指标
响应时间
并发用户数
吞吐量
QPS
TPS
点击数
错误率
资源利用率
六、常用组件
1、测试计划
2、线程组:
三个参数:线程数、准备时长、循环次数
3、取样器
4、监听器
5、断言:json断言、响应断言
6、循环控制器、事务控制器
7、定时器
七、Jmeter组件参数化
1、自定义用户变量
2、CSV data set config
3、函数小助手
八、 Jmeter正则表达式提取 ${变量名}
* 匹配前面的子表达式0个或多个
+ 匹配前面的子表达式1次或多次
? 匹配前面的子表达式0次或1次
() 标记一个子表达式的开始和结束位置
. 匹配除\n 换行符之外的任何单字符
九、脚本录制
方式:web端和app端
app端:前提:需要电脑、手机在同一网络上
1、给线程组添加录制控制器
线程组→添加→逻辑控制器→录制控制器
2、添加http代理服务器
测试计划→添加→非测试原件→http代理服务器→目标控制器
3、查看ip,设置移动端代理
web端:使用badboy进行脚本录制
十、数据库压测
线程组→添加→配置元件→JDBC Connection Configuration→变量名以及数据库四大参数
线程组下面创建一个 JDBC Request 请求→池的变量名:${变量名}→查询类型→SQL语句
添加监听器(察看结果树),查看结果
十一、 jmeter对服务器压测(Windows)
jmeter版本:5.4.1
1、资源
JMeterPlugins-Extras.jar、JMeterPlugins-Standard.jar、jmeter-plugins-cmn-jmeter-0.7.jar放到apache-jmeter-3.0\lib\ext目录下
服务:ServerAgent-2.2.1
2、开启服务的监听
3、给本地服务添加监听器jp@gc - PerfMon Metrics Collector
4、添加性能指标:CPU、memory、磁盘 I/O、网络速率
十二、jmeter对服务器压测(Linux)