测者的性能测试手册:诊断优化找出消耗 CPU 性能的内鬼

栏目: 编程工具 · 发布时间: 5年前

内容简介:每次提起性能测试,都是开始于脚本、压力,然后各种监控,最后的最后就是分析。每次到了最后一个环境,所有大牛都说是一个很复杂的过程一两句话说不清楚。让人陷入了无尽的遐想~~~~~。今天,测试就告诉你如何找到Java消耗CPU的进程是怎么被找到的。当遇见CPU性能飙升到接近100的时候,首先需要进入对应的服务器,然后通过如下一连串的动作找到最耗资源的罪魁祸首。

每次提起性能测试,都是开始于脚本、压力,然后各种监控,最后的最后就是分析。每次到了最后一个环境,所有大牛都说是一个很复杂的过程一两句话说不清楚。让人陷入了无尽的遐想~~~~~。

今天,测试就告诉你如何找到 Java 消耗CPU的进程是怎么被找到的。

传统的手段

当遇见CPU性能飙升到接近100的时候,首先需要进入对应的服务器,然后通过如下一连串的动作找到最耗资源的罪魁祸首。

top发现最好是的进程

shell 界面中,输入top,找到最消耗CPU的那个Java进程。记录下PID号码。

然后通过:

命令查看对应PID进程下的线程,找到最耗资源的线程的PID。将其通过shell转成十六进制:

应用jstack针对上面耗时的线程进行分析

然后打开xxx.tmp文件,搜索PID(十六进制)号码,下面的堆栈就是这个线程打出来的。排查问题就可以从这些堆栈信息开整找到问题。

一个一劳永逸的工具

show-busy-java-threads用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。

GitHub地址:https://github.com/oldratlee/useful-scripts

在服务器端,克隆项目: git clone git://github.com/oldratlee/useful-scripts.git

然后就可以看到了show-busy-jaa-threads工具了。其中,该Github仓库有一个release发布分支,里面包含的都是功能稳定的脚本,建议使用的时候切换到该分支。方法如下:

进入userful-scripts目录后,输入 ./show-busy-java-threads 就可以使用这个 工具 进行上述消耗CPU的优化分析了。其他show-busy-java-threads工具的用法如下:

其实优化是性能测试的根本目标,找到问题后分析问题才是关键,通过各种手段找到更详细的问题,找到更多的数据和RD一起分析。

测者的性能测试手册:诊断优化找出消耗 CPU 性能的内鬼

测者的性能手册:

测者的性能测试手册:一分钟掌握LoadRunner关联函数应该放在那

测者的性能测试手册:JVM的监控利器

测者的性能测试手册:SWAP的监控

测者的性能测试手册:故障诊断工具Glassbox在Tomcat上应用

测者的性能测试手册:Linux Loadrunner Generator的安装和配置

测者的性能测试手册:Fiddler抓取websocket的包

测者的性能测试手册:JVM的监控利器

测者的性能测试手册:Moco 作为MockServer快速入门

测者的性能测试手册:Yourkit 监控Jetty

测者的性能测试手册:Web压力测试工具webbench

测者的性能测试手册:诊断优化找出消耗 CPU 性能的内鬼 测者的性能测试手册:诊断优化找出消耗 CPU 性能的内鬼

长按关注V社北京

测试 技术 面试 DevOps

关注V社北京,关注测试,添加巨蜥小程序获取全量精品技术文章

测者的性能测试手册:诊断优化找出消耗 CPU 性能的内鬼

关注我

每天进步一点点


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解Java虚拟机

深入理解Java虚拟机

周志明 / 机械工业出版社 / 2011-6 / 69.00元

《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案......一起来看看 《深入理解Java虚拟机》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具