概述

性能测试:

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

为什么做性能测试?

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

性能测试的最终目标:?

性能指标分析

多快好省

项目性能场景提取

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

了解业务逻辑

了解项目部署框架

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

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. Linux下MySQL主从复制(Binlog)的部署过程

    什么是 MySQL 的主从复制 Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上 ...

  2. mysql--使用shardingsphere实现分表

    一. 简介 为什么要分表,无非就两个原因,要么是并发太高,要么就是数据量太大. 所谓分表就是把传统的单表扩展为多个数据结构一样的表,通过分表策略确定操作哪一张表. 我使用的分表规则是通过主键id进行取 ...

  3. nginx 部署vue

    server { listen 80; server_name localhost; root /www/meiduo_admin/dist; access_log /var/log/nginx/ad ...

  4. UWP App Data存储和获取

    这篇博客介绍如何在UWP开发时,如何存储App Data和获取. App Data是指用户的一些设定,偏好等.例如,App的主题,是否接收推送,离线接收消息等.需要区分下App Data和User D ...

  5. DLL-创建DLL

    动态链接库的创建 fangyukuan 2010.6.20 编写DLL时的函数与一般的函数方法基本一样.但要对库中的函数进行必要的声明,以说明哪些函数是可以导出的,哪些函数是不可以导出的. 把DLL中 ...

  6. 【spring 注解驱动开发】扩展原理

    尚学堂spring 注解驱动开发学习笔记之 - 扩展原理 扩展原理 1.扩展原理-BeanFactoryPostProcessor BeanFactoryPostProcessor * 扩展原理: * ...

  7. Spring详解(一)------IOC控制反转

    1.什么是 IOC? IOC-Inversion of Control,即控制反转.它不是什么技术,而是一种设计思想. 传统的创建对象的方法是直接通过 new 关键字,而 spring 则是通过 IO ...

  8. C语言实现类似C++的容器vector

    C语言也能面向对象?不是C++是面向对象的么?其实C语言也能抽象成简单的面向对象方法,在Linux内核源码当中,底层的驱动代码.文件系统等皆采用了面向对象的封装技术,这样的好处是将客观的东西抽象出来, ...

  9. 回忆(一):反射中获得class对象的三种方法

    package reflex; /* * 反射:就是通过class文件对象 去使用该文件中的成员 * 变量,构造方法,成员方法. * * Person p = new Person(); p.使用 * ...

  10. Hibernate之检索方式

    时间:2017-1-22 16:09 --检索方式Hibernate中提供了以下几种检索对象的方式:    *   导航对象图检索方式        根据已经加载额对象导航到其他对象.        ...