JMeter性能问题

news/2025/2/25 11:56:35

性能测试中TPS上不去的几种原因

性能测试中TPS上不去的几种原因_tps一直上不去-CSDN博客

  1. 网络带宽

  2. 连接池

  3. 垃圾回收机制

  4. 压测脚本

  5. 通信连接机制

  6. 数据库配置

  7. 硬件资源

  8. 压测机

  9. 业务逻辑

  10. 系统架构

CPU过高什么原因

性能问题分析-CPU偏高 - 西瓜汁拌面 - 博客园

  1. US CPU过高: 应用程序本身比较繁忙

    现象:压测过程中,使用top命令查看系统资源占用情况,us cpu过高,超过50%以上。

    原因:UseCPU偏高说明应用程序本身比较繁忙

    排查手段:

      (1)使用top命令是哪个进程消耗CPU高

      (2)再找到CPU消耗高的线程:top -H -p 进程号

      (3)把线程号转换成16进制:printf "%x\n" 线程号

      (4)再用jstack命令分析这个线程是在干什么:jstack 进程号 | grep 16进制的线程号

      (5)通过JProfiler的CPU Views视图的层层分析,可以清楚的找到造成CPU高的原因

  2. Sys CPU过高

    现象:压测过程中,使用top命令查看系统资源占用情况,sy cpu过高,超过50%以上。

    原因:内核调用,IO导致的,看IO是否使用频繁

    排查手段:

      (1)首先查看磁盘繁忙程度、磁盘的队列(nmon、sar),查看diskbusy,若diskbusy超过30%以上就可以称作IO繁忙;

          (2)IO繁忙的话,查看磁盘中IO的排序队列(iostat),看具体是read还是write繁忙,询问开发人员为什么读/写这么高,找出原因;

                  读高:大量读取数据造成内存不够引起;

                  写高:需要减少写的频率;

      (3)如果IO不繁忙,也就是磁盘没有问题,则使用strace查看系统内核调用情况,具体内核调用什么比较频繁;

内存溢出和内存泄露

内存泄漏和、内存溢出 (史上最全)_内存溢出和内存泄漏-CSDN博客

  1. 内存溢出:表示请求的内存大小超过系统最大的内存。如果操作超过系统内存大小的元素时,会抛出异常
  2. 内存泄漏:表示不再使用的元素没有被回收,而是被永久保留下来。会占用内存空间,大量的垃圾数据没有被回收时,会影响系统性能,浪费系统内存。

线程阻塞和线程死锁

死锁与线程阻塞解析-CSDN博客

  1. 线程阻塞问题排查流程

    a. 做线程dump
    b. 在dump文件中搜索关键字"BLOCK”、”TIME_WAITING",查看每种状态的count数量
    c. 按照上述关键字搜索,查看跟本系统有关的业务代码堆栈信息

  2. 出现死锁之后,我们关闭压力机并不能解决问题,这个和内存溢出是一样的,我们需要重启tomcat。

    死锁的解决思路

    1、避免嵌套加锁
    2、减少颗粒度
    3、增加超时处理


http://www.niftyadmin.cn/n/5865467.html

相关文章

选择排序:简单高效的选择

大家好,今天我们来聊聊选择排序(Selection Sort)算法。这是一个非常简单的排序算法,适合用来学习排序的基本思路和操作。选择排序在许多排序算法中以其直观和易于实现的特点著称,虽然它的效率不如其他高效算法&#xf…

在arm64设备(树莓派4B)上部署Hyperledger Fabric V2.5

arm64设备相较于x86设备功耗低、硬件成本低,树莓派4B是一个流行的arm64设备,本文记录在树莓派4B中部署Hyperledger Fabric V2.5的关键点,即与x86架构启动网络所需材料的差异。 成功部署示例 如图所示,Hyperledger Fabric V2.5.6 成功运行在了树莓派4B(8G内存版)中,即te…

奇异值分解(SVD)拟合平面

奇异值分解(SVD)拟合平面 在三维空间中,使用奇异值分解(SVD)来拟合平面是一种常见且有效的方法。下面将详细介绍其原理、实现步骤,并给出Python代码示例。 原理 给定一组三维空间中的点 P { p 1 , p 2…

【无标题】PHP-get_definde_vars

[题目信息]: 题目名称题目难度PHP-get_defined_vars2 [题目考点]: get_defined_vars — 返回由所有已定义变量所组成的数组此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。 [Flag格式…

DeepSeek-R1:通过强化学习激发大语言模型的推理能力

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列三DeepSeek大模型技术系列三》DeepSeek-…

如何解决 MySQL 数据库服务器 CPU 飙升的情况

大家好,我是 V 哥。当 MySQL 数据库服务器 CPU 飙升时,我们应该怎么办?从何入手解决问题,有没有什么套路,因为自古真情留不住,唯有套路得人心,虽然这是一句玩笑话,也算很贴切&#x…

【算法与数据结构】Dijkstra算法求单源最短路径问题

目录 Dijkstra算法 算法简介: 该算法的核心思想: 算法特点: 算法示例演示: 算法实现: 邻接矩阵存图 邻接表存图: 时间复杂度分析: Dijkstra算法 算法简介: Dijkstra算法&am…

蓝桥云课python代码

第一章语言基础 第一节编程基础 1 python开发环境 第一个Python程序 # 打印"Hello World" print("Hello World")# 打印2的100次方 print(2 ** 100)# 打印112 print("11",1 1)""" Hello World 126765060022822940149670320537…