首页 > 其他分享 >jmeter性能测试实例3解析--性能瓶颈分析过程

jmeter性能测试实例3解析--性能瓶颈分析过程

时间:2023-03-08 15:45:48浏览次数:32  
标签:slow show -- 性能 查询 3.3 jmeter cpu

  • 场景要求

1、用户登陆---每个用户登陆一次(仅一次控制器)

2、压测试接口获取门店列表

  • 性能场景指标

1、验证最大在线用户数--(负载测试)

2、错误率<0.5%

3、请求响应时间<2S

4、场景运行时间10分钟--不需要 同步定时器

5、服务器资源使用合理(cpu使用率<80%,内存使用率<80%)

  • 脚本设计如下:

 

 

  • 运行结果及分析流程

1、运行场景--聚合报告(重要指标:响应时间、错误率、吞吐量)99%用户登陆响应时间超过2S,未达标

 

 

 2、top命令查看服务器资源,看具体监控数据:发现cpu过高,哪个进程占cpu?

cpu包含:sys系统、usr用户、idle空余、io%输入输出 

(top命令)第一个红框是百分比,第二个红框是总共,例如若8核cpu服务器下面红框内最高可达800%

 

 

 发现,usr用户进程使用率高,是哪个进程导致这样高的cpu使用率

3.1、若是mysql高,原因:第一可能是库、表设计不合理;第二可能索引问题;第三可能死锁、大表、慢查询问题

-- 查询慢查询次数
show status LIKE 'slow_queries';
-- 查询主从延时时间
show slave STATUS
-- 查看慢查询日志是否打开
show variables LIKE 'slow_query_log';
-- 查看慢查询日志的路径 /var/log/mysql/slow.log
show variables LIKE '%slow_query_log%';
-- 查看慢查询阈值,value单位为秒
show variables LIKE 'long_query_time';
-- 慢查询记录表
SELECT * from mysql.slow_log
-- 设置慢查询时间
setlong_query_time=2;
-- 使用explain来分析sql语句实现优化  主要关注type、key、rows两列
EXPLAIN 具体sql语句;

优化前:EXPLAIN 具体sql   如下图, 主要关注type、key、rows几列,key未设置主键,rows扫描记录数过多

优化(加主键)后:EXPLAIN 具体sql   如下图,rows=1 性能会大大提升

 

3.2、若是java root 进程比较高

 

 查看该进程79478对应的线程,此时用命令“top -H -p 进程号PID”来查看具体哪个服务高;top -H -p 79478   结果如下:

 

 

 (注:java进程里容易出现的性能问题:线程死锁、堆内存溢出(具体哪个对象)、GC年轻态 还是 年老态、jar包问题)

3.3、若是redis(缓存服务器)问题

3.3、若是nginx问题,权重设计是否到位

3.3、若是tomcat问题

3.3、若是mq问题

 

标签:slow,show,--,性能,查询,3.3,jmeter,cpu
From: https://www.cnblogs.com/liuchunxiao83/p/17192008.html

相关文章

  • gateway整合Sentinel实现资源限流
    转:整合Sentinel实现资源限流整合Sentinel实现资源限流 SpringCloudGateway默认为我们提供了一种限流方法:RequestRateLimiterGatewayFilterFactory。但这种方法实......
  • hibernate跨数据库,json字段处理方案,自定义扩展JsonStringType
    一、背景对于一些不经常更新的静态数据,我们喜欢使用json格式存储。推荐的做法是将json数据存储在key-value数据库,但这无疑增加了技术成本,所以我们通常还是存储在RDB数据库......
  • 数据库操作
    showdatabases;显示数据库CREATEDATABASEuniversity; 创建数据库useuniversity; 进入数据库showtables; 显示数据表createTABLEperson( 创建表 IDCHAR(5), name......
  • Prism报错
    Rules.Default..WithoutFastExpressionCompiler()报错说没有找到容器1、查看Prism.Wpf源码获取DryIoc容器规则2、证明项目中出现了另外一个DryIoc容器,它的规则不适用......
  • C# 监听窗口分辨率/DPI变更
    C#监听窗口分辨率/DPI变更 当程序运行,窗口已经加载后,如果修改屏幕分辨率,会影响窗口的正常显示。举个案例:悬浮窗口,显示在屏幕右下角。当分辨率、文本显示比例变更后......
  • 数组
        a[i]表示数组中的第i+1个元素              数组逆序      输出对其     ......
  • java代码审计-SSRF
    0x00前言SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图......
  • CSS流动布局-页面自适应
    项目中经常会碰到页面自适应的问题,例如:商城的列表展示、分类列表展示等页面,如下:该页面会随着页面的放大缩小而随之发生变化,解决方法:display:flex;配合子元素的动态宽度......
  • 9. 初识面向对象 - 1
    9.初识面向对象-1引入面向对象本节将通过一个案例,先用之前我们编写的代码方式进行实现,然后分析利弊。从而引出面向对象。需求编写一个程序,完成1个学生的基本操作......
  • 7、Redis持久化存储的两种方式
    1.Redis持久化存储的两种方式RDB方式RDB存储是Redis实现的一种存储机制(默认开启)AOF方式AOF存储方式,直接把操作的命令记录下来,保存到一个文件里,类似mysql的......