性能测试分析监控常见方法介绍

摘要:
整理一些性能测试期间常用的监控命令和工具。重启后,您可以在控制台上输入jvisualvm以打开界面监控相关程序。

 针对性能测试过程中常用的一些监控命令及工具进行梳理。

一、服务器监控

服务器级别监控主要看以下方面

性能测试分析监控常见方法介绍第1张

一般使用监控方式如下:

top命令:

查看当前系统CPU的使用情况

 性能测试分析监控常见方法介绍第2张

输入1可以查看全部CPU的情况

性能测试分析监控常见方法介绍第3张

free -m命令:

查看当前系统内存的使用情况(以MB为统计单位)

 性能测试分析监控常见方法介绍第4张

输出结果:

buffer和cache: 都是Linux下的缓存机制,其中buffer为写操作的缓存,cache为读操作的缓存。

swap: 交换空间,磁盘上的一块空间,当系统内存不足时,会使用交换空间

df -h命令:

查看当前系统磁盘空间的使用情况

 性能测试分析监控常见方法介绍第5张

iostat命令:

iostat -x -k 1  

-x:展示磁盘的扩展信息    -k:以k为单位展示磁盘数据   1:每1秒刷新一次

主要关注指标  util:磁盘IO使用率,单位%,反映磁盘的繁忙程度,上限100%

 性能测试分析监控常见方法介绍第6张

vmstat命令:

综合显示了CPU、进程、内存、磁盘IO等信息

vmstat 1  #  1 刷新频率

 性能测试分析监控常见方法介绍第7张

dstat命令:

是较全能的全能监控工具,支持实时刷新。

需要先安装才可以使用:yum install dstat

dstat -tcmnd --disk-util 

 性能测试分析监控常见方法介绍第8张

nmon:

可以使用对应的EXCEL生成一些服务器相关指标的图形,针对稳定性场景比较合适,同时里面的图表可以用作测试报告,非常使用,之前写过这方面的介绍,有兴趣可以点击看看【nmon介绍及使用】

 性能测试分析监控常见方法介绍第9张

、应用级别监控

java程序监控

1) 命令行监控:

监控jvm的GC情况 : jstat -gcutil pid 1000 100

替换PID为指定的进程号,1000代表刷新频率  100代表输出100次

性能测试分析监控常见方法介绍第10张

查看jvm配置信息: jmap -heap pid:
可以看到java进程的堆的配置信息,各区的空间大小和配置信息

性能测试分析监控常见方法介绍第11张

查看jvm中类和对象的占用情况: jmap -histo 5279 | head -20

查看jvm中各个类的实例数、占用内存数量以及类的全名

性能测试分析监控常见方法介绍第12张

堆文件dump: jmap -dump:format=b,file=m.hdump 19300
对堆内存进行dump,以文件的形式进行保存下来,可以用jvisualvm等工具对文件进行分析

 性能测试分析监控常见方法介绍第13张

 通过装入本地的工具,可以查看详细情况

性能测试分析监控常见方法介绍第14张

2) 工具类监控:

jvisualvm

  JDK提供的一个JVM运行监控工具,可用于查看dum文件,CPU及内存的占用情况,GC垃圾回收情况等信息。

   监控之前先对jvm加监控参数,在tomcat的bin目录下,catalina.sh文件中,第二行 添加

   JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.0.10"

  注意这里是一行,hostname需修改成服务器的地址,端口用一个没用过的即可。

  重启之后就可以使用在控制台输入 jvisualvm 打开界面监控相关程序。

性能测试分析监控常见方法介绍第15张

 性能测试分析监控常见方法介绍第16张

Arthas(阿尔萨斯)

  阿里巴巴开源的Java诊断工具,深受开发者喜爱。

  下载: curl -O https://alibaba.github.io/arthas/arthas-boot.jar

  启动:java -jar arthas-boot.jar 进入到arthas交互环境  

   性能测试分析监控常见方法介绍第17张

  输入命令:

  help:会出现所有arthas支持的命令

  thread:列出线程的信息,按照cpu占用率从高到低列出来,如果线程太多,可以通过-n参数指定输出的行数。  

  性能测试分析监控常见方法介绍第18张

       thread -b:可以查看block的线程  

  性能测试分析监控常见方法介绍第19张

       dashboard :可以实时查看内存的情况,定位内存溢出问题。

   性能测试分析监控常见方法介绍第20张

免责声明:文章转载自《性能测试分析监控常见方法介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇总结laravel框架使用过程踩过得那些坑儿linux服务器+tomcat+域名+https下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Lynx浏览器简明使用指南(转)

Lynx可以运行在很多种操作系统下,如VMS,UNIX,Windows95,WindowsNT等,当然也包括Linux。由于没有漂亮的图形界面,所以Lynx占用资源极少,而且速度很快。另外Lynx还是唯一能在字符终端下运行的WWW浏览器。Lynx的主页地址是:http://lynx.browser.org,另外http://www.cc.ukans.edu/...

解决Windows 10每次重启默认浏览器都被重置为IE的一个办法

我的Windows10电脑每次设置默认浏览器重启后都会被重置为IE,这是个令人抓狂的问题。现在大部分浏览器都不支持IE浏览器了,如果每次点击外链都自动通过IE打开,则需要额外的操作手动拷贝粘贴到火狐打开,会影响工作效率。在网上找了各种各样的解决办法都不灵……再设置一次默认浏览器如下图所示,设置好了之后重启电脑试一下吧,祝你好运!...

Android开发 Camera2的CaptureRequest属性整理--完善中

当android.control.aeExposureCompensation改变时,即使AE锁定为ON,则相机设备将仍然调整其曝光值。如果android.control.aeMode是ON_ALWAYS_FLASH,现场可能会变得过度曝光。同样,AEprecapture触发取消了当AE已被锁定没有影响。见android.control.aeState为AE...

PCL点云分割(2)

点云的分割是我想做的机器人手臂捕捉的一个非常重要的部分,因此首先要了解,如果我使用点云库来处理我用kinect获得的点云数据,这个例程也是由我自己慢慢修改程序并结合官方API的解释来实现的。如果我直接更改源程序,由于数据类型、头文件和其他原因,其中的许多细节可能无法编译,我们将很难找出错误。首先,让我们看看我自己设定的场景。然后我使用Kinect获取数据并观...

WritableWorkbook 详细用例 (转)

1WritableWorkbookworkbook=工作簿.createWorkbook(newFile(“d:\test.xls”));1Workbookwb=工作簿.getWorkbook(newFile(“src\test\test.xls”));...

Vmware安装Linux打开一直黑屏的四个解决方法

方法1:以管理员身份打开cmd,输入netshwinsocksreset,按enter键,然后重新启动计算机方法2:关闭虚拟机,编辑虚拟机设置,选择硬件中的虚拟机设置、删除加速3D图形前面的复选框,然后再次启动虚拟机。最终的解决方案:我一开始使用的是14版,但上述方法都不能解决黑屏问题。然后我使用版本12来解决这个问题。...