JMeter性能问题

server/2025/2/26 20:29:36/

性能测试中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.ppmy.cn/server/170839.html

相关文章

让Word插上AI的翅膀:如何把DeepSeek装进Word

在日常办公中,微软的Word无疑是我们最常用的文字处理工具。无论是撰写报告、编辑文档,还是整理笔记,Word都能胜任。然而,随着AI技术的飞速发展,尤其是DeepSeek的出现,我们的文字编辑方式正在发生革命性的变…

【C语言】指针笔试题

前言:上期我们介绍了sizeof与strlen的辨析以及sizeof,strlen相关的一些笔试题,这期我们主要来讲指针运算相关的一些笔试题,以此来巩固我们之前所学的指针运算! 文章目录 一,指针笔试题1,题目一…

Qt/C++项目积累:3.日志管理系统 - 3.1 项目介绍

在实际工程项目中,日志系统无疑是比较重要地分析问题的手段,常用的一般是将其写入到日志文件中,或者写入数据库文件,进行分析,而工程人员或者开发人员需要实时查看日志,可能不太方便,于是就需要…

rabbitmq 延时队列

要使用 RabbitMQ Delayed Message Plugin 实现延时队列,首先需要确保插件已安装并启用。以下是实现延时队列的步骤和代码示例。 1. 安装 RabbitMQ Delayed Message Plugin 首先,确保你的 RabbitMQ 安装了 rabbitmq-delayed-message-exchange 插件。你可…

Spring Boot + Redis 实现分布式锁

在 Spring Boot 中结合 Redis 实现分布式锁&#xff0c;可以通过 Redisson 或 Jedis 等客户端来操作 Redis&#xff0c;从而实现分布式锁。以下是使用 Redisson 实现分布式锁的示例。 1. 添加依赖 在 pom.xml 中添加 Redisson 依赖&#xff1a; 登录后复制 <dependency>&…

【杂谈】-强化学习遇见链式思维:将大型语言模型转变为自主推理代理

强化学习遇见链式思维&#xff1a;将大型语言模型转变为自主推理代理 文章目录 强化学习遇见链式思维&#xff1a;将大型语言模型转变为自主推理代理1、LLMs中自主推理的必要性1.1 传统LLMs的局限性1.2 链式思维&#xff08;CoT&#xff09;提示的不足1.3 推理中强化学习的必要…

linux usb 驱动 - configfs 文件系统

linux usb hcd 驱动框架 一、数据结构1. configfs_subsystem2. config_group3. config_item4. config_item_type5. configfs_attribute6. configfs_dirent7. 数据结构关系 二、根目录的注册1. configfs_register_subsystem1) configfs_create2) configfs_create_dir 2. 编程实验…

sdut-C语言实验-二分查找

sdut-C语言实验-二分查找 分数 20 全屏浏览 切换布局 作者 马新娟 单位 山东理工大学 本题要求实现一个二分查找函数。 给出含有 n 个数的升序序列&#xff0c;保证序列中的数两两不相等&#xff0c;这n个数编号从1 到n。 然后给出 q 次询问&#xff0c;每次询问给出一个…