概述

性能测试过程中,对服务器资源的监控是必不可少的。这里的资源又分了两块,windows和linux

 

linux下监控资源

访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件。其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。

前两个是jmeter扩展插件,解压后将jar拷贝包到jmeter的lib/ext目录下,最后一个是服务器监控插件,解压到服务器上

将ServerAgent-2.2.1.zip解压后放在需要监控的服务器上,并执行

chmod 777 startAgent.sh 赋权

./startAgent.sh 启动监控

配置端口和ip,端口默认4444

服务器上可以修改默认端口--./startAgent.sh –udp-port 0 –tcp-port XXXX

如果配置正确,但是始终无法监控到服务器,需要考虑 4444  端口是否在服务器防火墙中被禁用!

运行查看结果

jmeter隐藏功能:指定进程号进行监控。需要双击空白的地方,右边会出现三个点。这边可以根据服务器的pid进程号来监控资源

监控CPU

数值都是代表百分比,比如默认配置下在曲线图中看到某个时间的数值是30,即代表此时总的cpu使用时间占比为30%。

两点比较有用的地方值得说明:

1:在Scope区域,可以通过Per Process选项来获取指定进程的CPU使用情况

2:在CPU Cores区域,我们可以选择监控指定的单个Core。

监控Memory

usedperc(默认)和freeperc两项的数值代表与总内存的百分比,其余指标项的数值都是指内存大小,选中对应项,可以看到Metric Unit区域单位配置将变为可用,通常Mb会比较适合观察。同样,也可以选择监控指定进程的数据

监控Disk I/O

queue(默认)的数值代表等待I/O队列长度,reads、writes分别代表每秒处理的读/写次数,readbytes、writebytes顾名思义,代表每秒读/写的数据量,单位同样在Metric Unit区域配置,通常Mb会比较适合观察。如果有挂载多个存储设备,可以在Filesystem Filter区域指定要监控的设备

windows下的资源监控1---jconsole

jdk目录下面有自带的资源监控平台--jconsole.exe

双击jconsole.exe,启动监控平台,可以选择需要监控的服务。可以是本地的tomcat进程,也可以是远程的服务器。这里我选择了监控jmeter进程。

在上方的概览中,我们可以看到堆内存,线程,类,cpu四个监控模块。时间可以自由选择。

在内存选项中,我们可以选择分别监控新生代,老年代,eden,space这些堆内存空间。同时可以手动gc内存。

在线程中,我们可以监控所有已加载的线程,同时一键检测线程死锁。

在类中,我们可以直观的看到各种性能数据。包括jmeter分配的线程池大小。

windows下的资源监控2---jmc工具,可以监控本地和远程机器

jmc的功能类似于jconsole,不过仪表盘式的外观和色彩看起来更加漂亮。

在底部的按钮可以针对堆内存,cpu,线程等进行性能诊断

windows下的资源监控2---jvisualvm工具,可以监控本地和远程机器

jvisualvm的功能更加强大一些,除了常规的数据监控之外,还可以对线程进行dump(只能针对本地,不能对远程服务进行dump)

jdk自带的监控工具是丰富多彩的,我们可以根据自己的需求去选择不同的工具。

内存瓶颈分析

内存资源成为系统性能的瓶颈的征兆 :

  • 很高的换页率 (high pageout rate);

  • 进程进入不活动状态 ;

  • 交换区所有磁盘的活动次数可高 ;

  • 可高的全局系统 CPU 利用率 ;

  • 内存不够出错 (out of memory errors)

cpu瓶颈分析

CPU 资源成为系统性能的瓶颈的征兆 :

  • 很慢的响应时间 (slow response time)

  • CPU 空闲时间为零 (zero percent idle CPU)

  • 过高的用户占用 CPU 时间 (high percent user CPU)

  • 过高的系统占用 CPU 时间 (high percent system CPU)

  • 长时间的有很长的运行进程队列 (large run queue size sustained over time)

jmeter(五十一)_性能测试中的服务器资源监控与分析的更多相关文章

  1. Jmeter(五十)_性能测试模拟真实场景下的用户操作

    概述 我们在做性能测试的时候,不同的视角看到的结果都不一样. 例如响应时间 用户通过客户端向服务端发出请求的时间为: T1服务端接收到请求,处理该请求的时间为:T2服务端返回数据给客户端时间为: T3 ...

  2. JMeter性能测试-服务器资源监控插件详解

          零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服 ...

  3. (转)JMeter性能测试-服务器资源监控插件详解

    零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服务器资源消耗 ...

  4. 服务器资源监控插件(jmeter)

    零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过 实时监控,可以准确的把握不同测试场景下服务器资源消 ...

  5. Jmeter(四十一)_图片爬虫

    今天教大家用元件组合,做一个网页图片爬虫. 需要用到的元件:循环控制器+计数器+xpath提前器+函数嵌套+beanshell代码 首先我们确定一下要爬取的图片网站:https://dp.pconli ...

  6. Jmeter(五十一) - 从入门到精通高级篇 - jmeter之运动战(详解教程)

    1.简介 运动战是一种军事作战方式,依托较大的作战空间来换取时间移动兵力包围敌方,以优势兵力速战速决,运动战的运用归为这样一段话"避敌主力,诱敌深入,集中优势兵力逐个击破".今天宏 ...

  7. 软件测试_Loadrunner_性能测试_服务器资源监控

    使用Loadrunner进行Windows服务器性能监控 将装有Loadrunner的机器叫做监控端,被监控资源的服务器叫做被监控端 一.前置环境设置 1. 设置被监控端管理员账户可用:我的电脑右键- ...

  8. Jmeter压力测试简单教程(包括服务器状态监控)

    前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要目的是测试负载均衡的实现效果.不知道是不是因为Jmeter不如loadRunner火爆还是什么,网上关于Jmeter的资料有很 ...

  9. 2. Jmeter压力测试简单教程(包括服务器状态监控) (转)

    转自:https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要 ...

随机推荐

  1. soup.select的用法

    1.通过标签选择 # 选择所有title标签 soup.select("title") # 选择所有p标签中的第三个标签 soup.select("p:nth-of-ty ...

  2. 【转载】Jupyter Notebook 常用快捷键

    原文:http://blog.csdn.net/lawme/article/details/51034543 Jupyter Notebook 有两种键盘输入模式.编辑模式,允许你往单元中键入代码或文 ...

  3. SimHash算法--文章相似度匹配

    SimHash原理 1.SimHash背景 SimHash算法来自于 GoogleMoses Charikar发表的一篇论文"detecting near-duplicates for we ...

  4. nano命令

    1. 禁止自动换行 # nano -w xxx 2. 保存 Ctrl+O 3. 退出 Ctrl+X 4. 撤销 在请求确认文件名时按Ctrl+C来取消 5. 剪切 Ctrl+K 移动多行,只需多按几次 ...

  5. 设计模式 结构型 - 适配器模式 Adapter

    Adapter(适配器模式) ---- 加个“适配器”以便于复用 将一个类的接口转换成客户希望的另一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 应用场景 如果 ...

  6. 怎么解决前端线上Bug

    有一种八阿哥(Bug),叫"在我电脑上是好的呀". 有一种解决方式,叫"你去好好排查一下你自己的代码". 有一种控诉,叫"这绝不是后端的问题" ...

  7. Python学习日记(三十九) Mysql数据库篇 七

    Mysql函数 高级函数 1.BIN(N) 返回N的二进制编码 ); 执行结果: 2.BINARY(str) 将字符串str转换为二进制字符串 select BINARY('ASCII'); 执行结果 ...

  8. Ansible入门笔记(3)之Playbook

    目录 Ansible-playbook 1.1.什么是playbook? 1.2.playbook的核心组成 1.3.playbook的handlers.notify触发 1.4.playbook的变 ...

  9. Win10如何设置插入鼠标后自动禁用触摸板

    首先按“Windows+R”键,调出运行窗口.  然后输入“control”然后点击“确定”!  打开Win10控制面板  在“控制面板”中,选择“硬件和声音”!  选择“AUSU Amart Ges ...

  10. SaltStack--快速入门

    saltstack快速入门 saltstack介绍 Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯 主要功能远程执 ...