概述

性能测试:

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

为什么做性能测试?

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

性能测试的最终目标:?

性能指标分析

多快好省

项目性能场景提取

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

了解业务逻辑

了解项目部署框架

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

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性能实战的更多相关文章

  1. Jmeter实时监控+SpringBoot接口性能实战

    性能测试 Jmeter实时监控+SpringBoot接口性能实战 自动化 SpringBoot Java Jmeter实时监控+SpringBoot接口性能实战 一.实验目的及实验环境 1.1.实验目 ...

  2. 11月1号开学! 《jmeter性能测试实战》崭新亮相!

    课程介绍 第10期<jmeter性能测试实战>课程,11月2号开学!全新改版,和之前的课程框架完全不同 主讲老师:飞天小子 上课方式:每周六周日晚8点到10点,QQ群视频在线直播教学 本期 ...

  3. JMeter性能监测插件介绍(三)

    JMeter 性能监测插件介绍 压力测试过程中,能够随时对负载服务器的健康状况的把控是相当重要的,有了这些数据,我们才能准确分析出服务器负载瓶颈.JMeter 插件包现在能够支持服务器监控,可以在所有 ...

  4. 性能测试分享:jmeter性能监控(一)

    性能测试分享:jmeter性能监控(一) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908 ...

  5. jmeter接口测试实战-创建用户

    jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...

  6. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  7. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

  8. Jmeter 接口测试实战-有趣的cookie

    Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...

  9. MongoDB的真正性能-实战百万用户

    阅读目录 一.第一个问题:Key-Value数据库可以有好多的Key,没错,但对MongoDB来说,大错特错 二.第二个问题:FindOne({_id:xxx})就快么? 三.第三个问题:精细的使用U ...

随机推荐

  1. 黑马JVM教程——自学笔记(二)

    三.垃圾回收 3.1.如何判断对象可以回收 3.1.1 引用计数法 弊端:循环引用时,两个对象的计数都为1,导致两个对象都无法被释放 3.1.2 可达性分析算法 JVM中的垃圾回收器通过可达性分析来探 ...

  2. Future有返回值的线程

    //创建一个线程池 ExecutorService pool = Executors.newFixedThreadPool(100); //创建多个有返回值的任务 List<Future> ...

  3. WPF---数据绑定(二)

    一.绑定到非UI元素 上篇中,我们绑定的数据源均是派生自UIElement的WPF元素.本篇描述的绑定数据源是一个我们自定义的普通的类型. 注:尽管绑定的数据源可以是任意类型的对象,但Path必须总是 ...

  4. Spring详解(五)------面向切面编程

    .AOP 什么? AOP(Aspect Oriented Programming),通常称为面向切面编程.它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的 ...

  5. Hibernate的一级缓存和二级缓存

    Fist level cache: This is enabled by default and works in session scope. Read more about hibernate f ...

  6. docker学习之network:初识网络配置

    起因 我的开发环境需要一个python代码运行环境.reids服务和mysql服务. 由于以前,我的开发环境是mac,而CI和线上运行环境是centos,偶尔会出项本地单元测试跑不过,而CI可以过.这 ...

  7. 实型(浮点型):float、double

    实型(浮点型):float.double 实型变量也可以称为浮点型,浮点型变量是用来存储小数数值的.在C语言中,浮点型分为两种:单精度浮点型(float).双精度浮点型(double),但是doubl ...

  8. Echarts中Option属性设置

    目录 一.title--标题组件 二.legend--图例组件 三.tooltip--提示框组件 四.grid--可用于调整图例在整个容器中的占位 五.xAxis--x 轴 六.yAxis-y 轴 七 ...

  9. [考试总结]noip模拟39

    不写那么多没用的了 开题就发现 \(T4\) 原题, \(T1\) 大水题. 然后发现 \(T4\) 忘了.... 不扯了 打地鼠 大水题,我代码都不想放... 算了,还是放一下吧.. #includ ...

  10. openswan协商流程之(三):main_inR1_outI2

    主模式第三包:main_inR1_outI2 1. 序言 main_inR1_outI2()函数是ISAKMP协商过程中第三包的核心处理函数的入口.这里我们主要说明main_inR1_outI2的函数 ...