zoukankan      html  css  js  c++  java
  • 性能测试分析监控常见方法介绍

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

    一、服务器监控

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

    一般使用监控方式如下:

    top命令:

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

     

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

    free -m命令:

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

     

    输出结果:

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

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

    df -h命令:

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

     

    iostat命令:

    iostat -x -k 1  

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

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

     

    vmstat命令:

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

    vmstat 1  #  1 刷新频率

     

    dstat命令:

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

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

    dstat -tcmnd --disk-util 

     

    nmon:

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

     

    、应用级别监控

    java程序监控

    1) 命令行监控:

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

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

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

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

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

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

     

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

    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 打开界面监控相关程序。

     

    Arthas(阿尔萨斯)

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

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

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

       

      输入命令:

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

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

      

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

      

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

       

  • 相关阅读:
    一起学windows phone7开发(二十四. Task 补遗)
    一起学windows phone7开发(二十.一 正式版中新增的 Panorama 和 Pivot Project)
    一起学WP7 XNA游戏开发(四. Input)
    一起学WP7 XNA游戏开发(五. Sound)
    一起学windows phone7开发(二十一.三 Map 控件深入学习)
    Daisy.wp7.Controls自定义的控件库
    一起学windows phone7开发(二十二.使用系统资源)
    一起学习Windows Phone7开发(二十三 Windows Phone7 Toolkit 补遗)
    一起学windows phone7开发(二十一.一 Silverlight bing map控件与 Pone7 map控件的比较)
    第一次试验报告
  • 原文地址:https://www.cnblogs.com/leixs/p/14643931.html
Copyright © 2011-2022 走看看