jmeter压测之 监控--nmon

摘要:
执行命令more/etc/issue以查看系统版本。nmon文件每10秒生成并更新一次,直到10分钟后。生成的文件名如下:_090824_1306.nmon,“”是此主机的主机名。Nmon-h获取更多帮助/wiki/Power%20Systems/page/nmn_分析仪下载地址:https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/b7fc61a1-eef9-4756-8028-6e687997f176/attachment/721e9797-b5fc-41d7-9b2f-5bd2aa2c8f7d/media/nmon_analyser_34a.zip解压后,您可以获得nmonanalyserv34a Xls。双击中间的Analysemondata按钮,选择nmon数据文件,在分析后生成结果文件。图中的蓝线表示物理内存使用率,红线表示虚拟内存使用率。

压测方法整理:

1.     写jmx脚本,整理csv数据文件;

2.     部署测试环境,把jmx和csv放在压测机,把监控脚本nmon放被压测机;

3.     安装nmon:

a.     wget http://jaist.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz

b.     tar -zxvf nmon16d_x86.tar.gz  解压

c.      查看linux版本:uname -a,我的是el6,所以nmon版本采用:nmon_x86_64_rhel6

下载安装(另一种方式)

nmon默认下载之后只是一个可执行测的文件,但是下载时根据不同的系统来进行区分的,这里我选择centos6.4系统版本。
大家可以根据自己的系统选择相应的版本。
执行命令 more /etc/issue  查看系统版本。
下载页面:http://sourceforge.net/projects/nmon/files/?source=navbar
jmeter压测之 监控--nmon第1张

下载得到文件nmon_x86_64_centos6,默认没有执行权限
chmod 777 nmon_x86_64_centos6 

 

Linux环境:

需要使用root用户将nmon的安装包上传到服务器上解压,同时使用命令

cp nmon_x86_64_rhel54  /usr/local/bin/nmon

添加nmon命令,以后就可以直接使用nmon命令进入nmon监控界面

增加全局环境变量

例如nmon安装在/usr/local/bin/目录下

vi /etc/profile

在文件底部填加环境变量

#nmon
export NMON_HOME=/opt/nmon
export PATH=$NMON_HOME:$PATH

使配置文件生效

source /etc/profile

 

4.     运行nmon:./nmon_x86_64_rhel6 -s10 -c60 -f -m .    此时,会自动生成log文件

    -s10每 10 秒采集一次数据。

    -c60采集 60 次,即为采集十分钟的数据。

    -f生成的数据文件名中包含文件创建的时间。

    -m生成的数据文件的存放目录。

  这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。

  生成的文件名如: _090824_1306.nmon ,"" 是这台主机的主机名。

    nmon-h查看更多帮助信息。

       也可以在启动nmon后,运行以下命令来采集数据 :nmon -s 5 -c 120 -F test_15thread_30min_101.nmon  表示:每5秒采集一个数据,共采集120次,也就是取压测10min的数据

5.     运行jmeter进行压测:sudo sh/home/apache-tomcat-jmeter/jmeter/bin/jmeter.sh -n -t/home/apache-tomcat-jmeter/bin/a/a.jmx-l log.jtl

        压测机在Windows环境的话,直接点击运行即可

6.     停止jmeter后停止nmon,导出日志文件进行分析

       导出日志文件

    通过SecureCRTPortable 工具,连接本地和服务器:

              jmeter压测之 监控--nmon第2张

 

    然后在弹出的窗体内,输入需要操作的命令(在此窗体内,相当于在本地操作,需要在Linux命令前加上l ),

    比如:需要进入指定路径  lcd  F:性能测试 esult

    然后获取Linux环境的某个文件  get  文件名 

   将网卡饱和度写入文件中:nicstat -i ens160 1s > test_1tread_30min_101net.txt

 

  数据分析
    下载 nmon analyser (生成性能报告的免费工具):
    下载页面:https://www.ibm.com/developerworks/community/wikis/home?lang=zh#!/wiki/Power%20Systems/page/nmon_analyser

    下载地址:https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/b7fc61a1-eef9-4756-8028-6e687997f176/attachment/721e9797-b5fc-41d7-9b2f-5bd2aa2c8f7d/media/nmon_analyser_34a.zip
解压之后可以得到一个nmon analyser v34a.xls,双击打开
jmeter压测之 监控--nmon第3张
点击中间的按钮 Analyse nmon data ,选择 nmon 数据文件,这样就会生成一个分析后的结果文件。最后得到的报表如下

jmeter压测之 监控--nmon第4张

 

  Ø Sys_summ页,为服务器资源使用率汇总

    我们需求的主要数据为cpu,mem,io和net。如下图:

     jmeter压测之 监控--nmon第5张

    将以上内容,如实填写至测试报告中。

  

  Ø Cpu_all页,是服务器cpu使用率的详细数据

    我们主要关注的内容为下图

 jmeter压测之 监控--nmon第6张

    Cpu使用率分为三部分,系统用户等待,分别对应图中红色、蓝色和绿色部分。cpu使用率100%的情况,如果红色占大部分,说明系统进程本身占据大部分cpu资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因;如果蓝色占大部分,说明用户进程占用大量cpu资源,可考虑被压系统是否压力过大,或者被压系统存在大量运算等消耗cpu资源的操作。

      故: CPU取CPU_ALL中User%的平均值:

          jmeter压测之 监控--nmon第7张

   

   Ø Net页 网络

 jmeter压测之 监控--nmon第8张

    Total read 每秒接收到的千字节的数目,如图蓝色部分

    Total write 每秒发送的千字节的数目,如图红色部分

    网络=Total read-Total write

    网络的指标一般要根据设备来确定,百兆网卡的意思是每秒能够传输的网络流量是100Mbps,即最大的下载速度是12.5MB/s,一般服务器是千兆网卡,即125MB/s

    故:net取 net页面中ens160-total字段平均值

          jmeter压测之 监控--nmon第9张

 

    Ø Mem页,是服务器内存使用率的概况。

 jmeter压测之 监控--nmon第10张

    图内蓝色线条为物理内存使用率,红色线条为虚拟内存使用率。我们统计的内存使用率为:(已用物理内存+已用虚拟内存)/(物理内存+虚拟内存)x100%

              故:内存取Mem中的active字段的平均值

          jmeter压测之 监控--nmon第11张

   

   Ø Disk_SUMM页,磁盘

           jmeter压测之 监控--nmon第12张

      Disk Read 每秒读的千字节数目 图中为蓝色部分

    Disk Write 每秒写的千字节数目 图中为红色部分

    IO/sec 每秒进行的IO数(一次IO就是控制操作一次读或写,IO块就是读或写的大小),图中为上方黑色的线,报告中写的是这个参数的值

 

来自 <http://blog.itpub.net/23135684/viewspace-626439/>

免责声明:文章转载自《jmeter压测之 监控--nmon》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安装postgreSQL出现configure:error:readline library not found解决方法logback详细配置(三)下篇

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

相关文章

JMeter 使用 http长连接的方法

前言 如果需要在JMeter通过http长连接发送请求,首先需要选择了Use KeepAlive 长连接协议,虽然默认是勾选的,但也需要确认一下。 除了选择了Use KeepAlive 长连接协议,还需要在Advanceed高级选项面板,选择HttpClient4类型的HttpRequest请求实现。 在即使选择了Use KeepAlive 长连接协议...

JMeter测试HBase

在网上找了关于jmeter连接hbase的方式,主要分为两种:通过导入jar包连接(Java Request)和通过BeanShell远程连接,由于刚接触jmeter没多久,对BeanShell还不熟,所以打算通过eclipse用Java编写连接hbase的程序并打包成jar包,导入到jmeter的方式连接hbase。 HBase本地远程连接HBase是测...

JMeter性能测试,完整入门篇

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完...

【转】jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器

  1、简介   Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的...

Jmeter属性和变量

一、Jmeter中的属性: 1、JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2、JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值,可以用于在线程间传递信息。 3、JMeter属性可以在测试计划中通过函数 _P 进行引用,但是不能作为特定线程的变量值...

jmeter的jmx脚本结构解析

jmeter的jmx脚本是xml文档,简单分析下其结构 xml是树形结构:jmeter界面的树形结构就是xml的结构 一级目录: 二级目录:在一级目录右键后可以看到的,都可以做为二级目录 三级目录、n级目录依次类推 看下二者的对应关系: 一级目录:jmeterTestPlan 二级目录:hashTree 三级目录:TestPlan(测试计划)、h...