jmeter性能实战
Posted 捷后愚生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter性能实战相关的知识,希望对你有一定的参考价值。
概述
性能测试:
通过并发工具请求服务器,提前发现性能问题,优化并解决
为什么做性能测试?
- 常规需求
- 用户反馈性能问题
- 项目对性能不放心
性能测试的最终目标:?
性能指标分析
多快好省
项目性能场景提取
提取高频业务、核心业务、扎堆场景
了解业务逻辑
了解项目部署框架
服务器部署架构,在有性能问题时,能分析
db--tomcat
多个tomcat -- nginx
keeplive 主从模式
多个tomcat -- nginx -- lvs
高性能F5服务器
db瓶颈,redis缓存
db--reids--tomcat
确定场景、性能目标
脚本开发
初始化
数据清理
多环境支持
用户自定义变量(是全局的)
http请求默认值
- 从1-n,并发时是否涉及单点登录
加密
一般加密md5加密
自定义加密吗,让开发给加密jar包
分布式测试
注意csv路径配置
场景逻辑是否正确
如登录一次,使用逻辑控制器
- debug调试
- 结果树四大金刚进行调试
- 断言
cookie
消息头管理器
token
json提取器
正则表达式提取器
集合点
同步计时器
性能瓶颈分析与调优
场景设置与运行
场景流程
场景指标
grafana 监控平台进行监控
收集器,下载对应的收集器,tomcat、redis、、mysql、服务器
储存器
接收器,grafana
top命令
1、运行场景-看聚合报告
- 响应时间,预期5s,实际30多s
是什么导致的? - 错误率
- 吞吐量
2、查看服务器资源--grafana看具体数据
发现cpu使用率过高
usr
是哪个进程导致的?
- sys
- idle
- io
top命令查看时root用户
mysql过高
- 连接数
- qps
- 慢查询,需要有足够的数据
- 锁表
数据库中设置慢查询日志
找出慢查询语句
可以把sql单独抽出来执行
选中,解释语句,找出问题,反馈给开发
查看进程里面的线程
再分析线程
java问题
- 死锁
- 堆溢出
- GC,资源回收
- jar包问题,第三方包不支持高并发
以上是关于jmeter性能实战的主要内容,如果未能解决你的问题,请参考以下文章
性能测试 性能测试实战Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》
性能监控实战(全栈性能测试修炼宝典JMeter实战-第九章)