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实时监控+SpringBoot接口性能实战
性能测试 Jmeter实时监控+SpringBoot接口性能实战 自动化 SpringBoot Java Jmeter实时监控+SpringBoot接口性能实战 一.实验目的及实验环境 1.1.实验目 ...
- 11月1号开学! 《jmeter性能测试实战》崭新亮相!
课程介绍 第10期<jmeter性能测试实战>课程,11月2号开学!全新改版,和之前的课程框架完全不同 主讲老师:飞天小子 上课方式:每周六周日晚8点到10点,QQ群视频在线直播教学 本期 ...
- JMeter性能监测插件介绍(三)
JMeter 性能监测插件介绍 压力测试过程中,能够随时对负载服务器的健康状况的把控是相当重要的,有了这些数据,我们才能准确分析出服务器负载瓶颈.JMeter 插件包现在能够支持服务器监控,可以在所有 ...
- 性能测试分享:jmeter性能监控(一)
性能测试分享:jmeter性能监控(一) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908 ...
- jmeter接口测试实战-创建用户
jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...
- JMeter接口测试实战-动态数据验证
JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...
- Jmeter接口测试实战-数据传递
Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...
- Jmeter 接口测试实战-有趣的cookie
Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...
- MongoDB的真正性能-实战百万用户
阅读目录 一.第一个问题:Key-Value数据库可以有好多的Key,没错,但对MongoDB来说,大错特错 二.第二个问题:FindOne({_id:xxx})就快么? 三.第三个问题:精细的使用U ...
随机推荐
- 支持初始化数据的Zookeeper Docker镜像
最近在做一个演示项目 https://github.com/cnscud/cavedemo, 自然为了方便, 也做了docker打包, 发现zookeeper的镜像没有导入初始化数据的功能, 于是自己 ...
- SQL 练习13
查询没学过"张三"老师讲授的任一门课程的学生姓名 SELECT * from Student WHERE SId not in ( SELECT SC.SId from Teach ...
- NOIP 模拟 $13\; \text{玄学题}$
题解 题如其名,是挺玄学的. 我们发现每个值是 \(-1\) 还是 \(1\) 只与它的次数是奇是偶有关,而 \(\sum_j^{j\le m}d(i×j)\) 又只与其中有多少个奇数有关 对于 \( ...
- C# 中的CTS, CLS, CLR 的理解
- 今天突发奇想写了一个小工具,CSDN文章目录生成器
Why 文章被遗忘 文章检索不好用 方便总结个人知识 What 根据文章分类生成文章目录 莫逸风文章目录 项目地址 gitee(地址)
- 等待唤醒机制----线程池----lambda表达式
1.等待唤醒机制 1.1线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同. 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的 ...
- sparksql字段类型转换
1.spark sql 计算时,一定要注意精度的问题,一般像金额之类的值,要先转换为double或者 decimal来进行计算了. 一.sql的方式:select shop_id,order_id,s ...
- Vue.JS快速上手(指令和实例方法)
1.声明式渲染 首先,我们要知道Vue是声明式渲染,那啥是声明式渲染,我们只需要告诉程序我们想要什么结果,其他的交给程序来做.与声明式渲染相对的是命令式渲染,即命令我们的程序去做什么,程序就会跟着你的 ...
- 自己封装一个Object.freeze()方法
1.遍历所有属性和方法 2.修改遍历到的属性的描述 3.Object.seal() Object.defineProperty(Object,'freezePolyfill',{ value:func ...
- form表单中id与name的区别
以前经常写form表单时,不写id和name,总觉得没有什么用.后来一看后台套完的页面发现,他们都补上name,不知道所以然,就查了一下资料,吓我一跳,要是照我那样写根本不会有数据传到服务器.原来表单 ...