JMeter性能测试工作中遇到的问题及剖析,你遇到了几个?

JMeter性能测试工作中遇到的问题及剖析,你遇到了几个?

常见性能测试剖析

1、系统资源问题
CPU/内存/磁盘/网络...

2、语言/代码:
JVM/PHP-fpm  ...etc

3、框架问题:
Sprint Boot /百度RPC...

服务单点性能问题

1、CPU负载
2、内存泄漏
3、磁盘IO
4、网络IO
5、JAVA Full GC
6、TCP连接数
7、工作线程打满
.....

案例1:某次压力测试,服务端CPU飙升打满,CPU计算型

TOP -H -p pid
Pstack pid
Trace -p pid

代码逻辑问题:
同步解析接口,使用正则方式匹配返回内容,但是由于返回内容过大,导致CPU飙升。正则,大数据的JSON序列化/反序列化

另外死锁问题也可以通过类似的方式调优
CPU不高,但服务响应耗时高,请求堆积;

案例2:某次压力测试,系统CPU等指标正常,但是偶发间断时间请求耗时特别高

JVM GC问题:
Full GC Stop the world
减少Full GC时间,老年代降低

案例3:某次压力测试,php程序,php-fpm内存增长,OOM导致服务挂掉

排查原因,使用了第三方so插件做JSON解析,但是第三方so插件有内存泄漏问题。

Max-request,fast-cgi 固定请求数后重启

案例4:某次压测,CPU/内存/网络 等指标表现良好,但响应耗时非常久

监控查看磁盘IO异常,追查发现日志级别设置为Debug,大量日志打印拖累性能

同步日志,可能是潜在的性能杀手

案例5:某次压力测试,CUP/内存/网络/磁盘 所有指标都表现良好,但是响应时间非常久

查看Nginx 日志,发现 request_time较长,但是 upstream_response_time 实际较短。

案例6:某次压测,同样的并发TPS,但是前期性能良好,后期数据库CPU飙升

压测会长生大量级的数据,数据增长会带来性能的损耗

压测数据不合理,导致统一设备关联多个用户,服务端不做限制的in查询

不合理分页,未做椰树limit,导致将数据库新增数据全部查询

案例7:某次稳定性测试,大并发TPS,前期性能良好,分片缓存,在模拟缓存单点失效大量的数据库穿透

缓存不合理的分片策略,使用分除模式。导致大量缓存统一时间失效。

不合理的负载均衡算法也会有类似的问题。

一致性的HASH解决此缓存问题

案例8:某次稳定性测试,如果HTTP入口流量仅百QPS,但下游RPC服务打卦

商户列表,for循环调用下游解决,导致请求数百倍扩大。

使用Batch接口减轻压力,Batch接口可能会带来功能隐患
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100683.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm编写的文件如何执行_pycharm可以写java吗

    pycharm编写的文件如何执行_pycharm可以写java吗最近在做编译原理课设,准备用Java写个GUI整合一下,因为自己的LL1文法使用python写的,所以需要Java来实现运行python代码,网上给出了主要三种方法,但是使用Jython的方法有局限性且不太方便,于是我将采用最简洁的方法Runtime.getRuntime()运行python代码,下面给出代码Processproc;try{/*注意:这里这种方式和cmd中使用python+文…

    2022年8月27日
  • idea激活码mac【在线注册码/序列号/破解码】

    idea激活码mac【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
  • 表达式1&&2&&3&&4_矩阵化表达式求值

    表达式1&&2&&3&&4_矩阵化表达式求值这道题一看就跟正常表达式求值差不多,我们需要一步一步保存前一部分的得0和得1的方案数,然后再与后面的进行运算,求出下个状态的方法总数,看到这里,很多朋友肯定想到了动态规划,然而如何保存运算顺序呢,那就要用到中缀表达式转后缀表达式,再按照运算顺序进行计算,下面是代码:#include<cstdio>#include<cstring>#include<…

    2022年9月14日
  • 数据接口-免费版(股票数据API)「建议收藏」

    获取股票数据的源头主要有:数据超市、雅虎、新浪、Google、和讯、搜狐、ChinaStockWebService、东方财富客户端、证券之星、网易财经。数据超市2016年5月6日更新。根据最近频繁出现的数据超市,可以无限制获取相关数据,而不再需要使用爬虫等方式获取,这样不仅节省了极大资源,也有利于遍历数据。具体的方法不再赘述,列出来相关网站清单,开发者可自行到这些网站查询调用方法。聚合数据 htt…

    2022年4月7日
  • L2-027 名人堂与代金(排序)

    L2-027 名人堂与代金(排序)原题链接对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。输入格

    2022年8月8日
  • 字节跳动面经(一、二、三+大boss+hr面)

    字节跳动面经(一、二、三+大boss+hr面)先介绍一下,本科和研究生都不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了,投递的是游戏测试开发岗(非测试岗),字节是自己投的第一家公司,也是第一家笔试面试的公司,面试官应该都是上海部门的,三轮面试都是视频面,面试时间是从下午5:30到9:30,一共是四个小时多一点吧(含每轮之间的等待时间…

    2022年5月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号