jmeter性能实战

要须心地收汗马,孔孟行世目杲杲。这篇文章主要讲述jmeter性能实战相关的知识,希望能为你提供帮助。
概述性能测试:
通过并发工具请求服务器,提前发现性能问题,优化并解决
为什么做性能测试?

  • 常规需求
  • 用户反馈性能问题
  • 项目对性能不放心
性能测试的最终目标:?
性能指标分析多快好省
项目性能场景提取提取高频业务、核心业务、扎堆场景
了解业务逻辑
了解项目部署框架服务器部署架构,在有性能问题时,能分析
db--tomcat
多个tomcat-- nginx
keeplive主从模式
多个tomcat-- nginx -- lvs
高性能F5服务器
db瓶颈,redis缓存
db--reids--tomcat
确定场景、性能目标
脚本开发
  • 初始化
    数据清理
  • 多环境支持
    用户自定义变量(是全局的)
    http请求默认值
  • 从1-n,并发时是否涉及单点登录
  • 加密
    一般加密md5加密
    自定义加密吗,让开发给加密jar包
  • 分布式测试
    注意csv路径配置
  • 场景逻辑是否正确
    如登录一次,使用逻辑控制器
  • debug调试
  • 结果树四大金刚进行调试
  • 断言
  • cookie
    消息头管理器
  • 【jmeter性能实战】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包问题,第三方包不支持高并发










    推荐阅读