zoukankan      html  css  js  c++  java
  • Jmeter(六)监控服务器资源

    一、前言       

    性能测试时我们关注的重要指标是:并发用户数,TPS,请求成功率,响应时间,服务器的CPU,memory, I/O disk等。Jmeter的聚合报告可以查看并发数、吞吐量、请求成功率、响应时间等;如果要查看服务器端的CPU,memory, I/O disk等就需要安装插件ServerAgent。

    二、ServerAgent插件安装

    1.需要下载三个文件,其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。

    前两个的下载地址是:https://jmeter-plugins.org/downloads/old/

    服务端的下载地址:https://github.com/undera/perfmon-agent

    2.解压客户端的两个文件,进入其路径JMeterPlugins-Extras\lib\ext,JMeterPlugins-Standard\lib\ext,复制JmeterPlugins-Extras.jar,JmeterPlugins-Standard.jar两个文件,放到JMeter客户端的apache-jmeter-4.0\lib\ext下面。

    3.打开JMeter,可在监听器中看到Permon Metrics Collector,客户端配置成功

     

    4.将ServerAgent-2.2.1.jar上传到被测服务器(根目录或任意位置),解压,进入目录,Windows环境,双击startAgent.bat启动;linux环境执行startAgent.sh启动,默认使用4444端口(如果没有执行权限,可先赋予执行权限:chmod a+x startAgent.sh)

    注意:在linux启动 #./startAgent.sh时,报./startAgent.sh: line 3: java: command not found,应该是ServerAgent-2.2.1.jar上传的位置没有jdk,要先安装jdk

    1.查看云端目前支持安装的jdk版本
    [root@localhost ~]# yum search java|grep jdk
    2.选择版本后,安装(执行以下命令会自动安装jdk相关依赖
    [root@localhost ~]#  yum install -y java-1.8.0-openjdk
    3.安装完成,验证是否安装成功
    [root@localhost ~]# java -version
    4.通过搜索java文件,查找jdk默认安装目录
    [root@localhost ~]# find / -name 'java'
    注:ServerAgent服务端口号默认为4444,如若遇到端口被占用,则需关闭占用该端口的进程,或者改变ServerAgent服务的默认端口:
    A:关闭占用4444端口的进程,再次启动ServerAgent服务,成功。
    B:使用命令改变ServerAgent服务的默认端口:./startAgent.sh -udp-port 0 -tcp-port xxxx (xxxx为新端口号)
     

    5.在Jmeter脚本的线程组中添加一个监听器jp@gc - PerfMon Metrics Collector

    注意:

    • 一定要添加要监控的服务器的IP,serveragent的4444端口号,监控的指标CPU、Memory、DISK I/O,Network I/O。
    • 一定要有将结果导出的文件如果添加文件时提示:Error loading results file - see file log,解决办法为:在文件(什么类型都可以)中加上一段
    • <?xml version="1.0" encoding="UTF-8"?>
      <testResults version="1.2">
      </testResults>
     

    6.启动线程组就可以监控到(线程运行时间如果太短可能会捕捉不到这个图表,可以设置循环几次来延长时间。

    说明:CPU(X100 000 000)等,需要乘的,是因为Swap的值比较大,如果展示在一起的话,其他值就忽略不计了,所以乘100 000 000!

     7.监控资源配置

     8.Settings

    1.use relative times:用于配置曲线图x轴表示相对时间(测试开始时为0)还是实际系统时间。

    2.Auto-zoom rows for best fit:默认勾选,则会有上一节讲数值时提到的展示数据自动放大的功能,取消勾选则全部展示采集的实际数值。

    3.Limit number of points in row to xx points:勾选后可以设定曲线图展示的采样点数量,我们的测试报告会有不同的角色查看,其中一些角色可能不具备也不需要对监控数据的细节理解能力,此时我们提供的监控曲线图应该是易读的,如果按照实际的所有采样点来渲染出曲线图,可能会有很多偏离趋势的噪点数据,这对于不了解的人来说可能会有很多疑惑,所以当我们有了分析结论,最后报告呈现的时候,可以考虑通过调整采样点,来让曲线图更好的展示资源使用趋势,消除其他不必要的信息。

    4.Force maximum Y axis value to xx:实际上我更多会选择不勾选,不勾选的情况下,插件在描绘曲线图的时候,会根据数值大小自动调整Y轴最大值,以达到更佳可读性。不过与上一项类似,可能在对外出具报告时,为了更少的解释说明,可能需要某个指定的数值。

  • 相关阅读:
    JSP语法学习笔记
    jsp 自定义标签
    java排序算法
    Linux系统rootpassword改动
    人生中第一次面试——北漂18年(1)
    msgsnd的一个小问题
    推荐系统中的矩阵分解演变方式
    FZU 2124 FOJ 2124 吃豆人【BFS】
    啦啦啦啦、新人学习中。。
    【Linux】线程并发拷贝程序
  • 原文地址:https://www.cnblogs.com/fsxsmile/p/14769229.html
Copyright © 2011-2022 走看看