jmeter性能实战

Posted 捷后愚生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter性能实战相关的知识,希望对你有一定的参考价值。

概述

性能测试:

通过并发工具请求服务器,提前发现性能问题,优化并解决

为什么做性能测试?

  • 常规需求
  • 用户反馈性能问题
  • 项目对性能不放心

性能测试的最终目标:?

性能指标分析

多快好省

项目性能场景提取

提取高频业务、核心业务、扎堆场景

了解业务逻辑

了解项目部署框架

服务器部署架构,在有性能问题时,能分析

db--tomcat

多个tomcat -- nginx

keeplive 主从模式

多个tomcat -- nginx -- lvs

高性能F5服务器

db瓶颈,redis缓存

db--reids--tomcat

确定场景、性能目标

jmeter性能实战_tomcat

脚本开发

  • 初始化

    数据清理

  • 多环境支持

    用户自定义变量(是全局的)

    http请求默认值

  • 从1-n,并发时是否涉及单点登录
  • 加密

    一般加密md5加密

    自定义加密吗,让开发给加密jar包

  • 分布式测试

    注意csv路径配置

  • 场景逻辑是否正确

    如登录一次,使用逻辑控制器

  • debug调试
  • 结果树四大金刚进行调试
  • 断言
  • cookie

    消息头管理器

  • token

    json提取器

    正则表达式提取器

  • 集合点

    同步计时器

性能瓶颈分析与调优

场景设置与运行

场景流程

场景指标

jmeter性能实战_tomcat

grafana 监控平台进行监控

收集器,下载对应的收集器,tomcat、redis、、mysql、服务器

储存器

接收器,grafana

jmeter性能实战_数据_03

jmeter性能实战_tomcat_04

top命令

1、运行场景-看聚合报告

  • 响应时间,预期5s,实际30多s
    是什么导致的?
  • 错误率
  • 吞吐量
    jmeter性能实战_数据_05

2、查看服务器资源--grafana看具体数据

jmeter性能实战_tomcat_06

发现cpu使用率过高

  • usr

    是哪个进程导致的?

  • sys
  • idle
  • io

top命令查看时root用户

jmeter性能实战_服务器_07

mysql过高

jmeter性能实战_tomcat_08

  • 连接数
  • qps
  • 慢查询,需要有足够的数据
  • 锁表
    jmeter性能实战_数据_09

数据库中设置慢查询日志

jmeter性能实战_服务器_10

找出慢查询语句

jmeter性能实战_数据_11

可以把sql单独抽出来执行

jmeter性能实战_tomcat_12

选中,解释语句,找出问题,反馈给开发

jmeter性能实战_数据_13

jmeter性能实战_服务器_14

jmeter性能实战_数据_15

查看进程里面的线程

jmeter性能实战_服务器_16

再分析线程

jmeter性能实战_服务器_17

java问题

  • 死锁
  • 堆溢出
  • GC,资源回收
  • jar包问题,第三方包不支持高并发

jmeter性能实战_tomcat_18

jmeter性能实战_服务器_19

jmeter性能实战_tomcat_20




以上是关于jmeter性能实战的主要内容,如果未能解决你的问题,请参考以下文章

jmeter性能实战

性能测试 性能测试实战Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》

JMeter 性能测试进阶实战

性能监控实战(全栈性能测试修炼宝典JMeter实战-第九章)

JMeter深入进阶性能测试体系,接口性能测试,各领域企业实战

JMeter全程实战性能测试实战分布式性能测试真实案例分析