压测方法整理:

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

下载得到文件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 工具,连接本地和服务器:

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

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

    然后获取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,双击打开

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

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

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

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

    网络=Total read-Total write

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

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

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

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

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

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

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

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

jmeter压测之 监控--nmon的更多相关文章

  1. JMeter接口压测——ServerAgent监控服务端性能指标

    ServerAgent作为一个服务端性能监控插件,结合JMeter自身插件PerfMon可以实现JMeter压测的图形化实时监控,具有良好的实用性.下面讲解一个应用实例 思路: 1. 插件准备 2.打 ...

  2. 一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本

    ​    ​接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本, ...

  3. jmeter压测app

    使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设 ...

  4. JMeter压测基础(三)——Mysql数据库

    JMeter压测基础(三)——Mysql数据库 环境准备 mysql驱动 JMeter jdbc配置 JMeter jdbc请求 1.下载mysql驱动:mysql-connector-java.ja ...

  5. jmeter压测参数设定(转)

    jmeter压测参数设定 一.基本公式 线程数 = QPS * time: 注:QPS--每秒完成请求的个数:time--每个请求响应完成平均需要时间: 故QPS * time就是所有请求完成响应所需 ...

  6. jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

    一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...

  7. jmeter压测之添加负载机

    jmeter压测基本介绍一般基准测试(基准测试时间一般为5分钟)后压测的时间是10-15分钟: 实施测试之前要拿到测试指标 例如:tps要达到多少响应时间要达到多少并发数要达到多少TPS :服务端每秒 ...

  8. PostgreSQL 一主多从(多副本,强同步)简明手册 - 配置、压测、监控、切换、防脑裂、修复、0丢失 - 珍藏级

    参考来源: https://github.com/digoal/blog/blob/master/201803/20180326_01.md#postgresql-一主多从多副本强同步简明手册---配 ...

  9. jmeter 压测duobbo接口,施压客户端自己把自己压死了

    jmeter 压测duobbo接口,jmeter代码不合理,导致每执行一次请求,会调用一次消耗内存的实例化.导致越压越慢,请求发不出去.这个时候需要考虑修改代码了. 截图中,tps越来越少. 原来初始 ...

随机推荐

  1. [No0000F7]C# 多态性

    多态性意味着有多重形式.在面向对象编程范式中,多态性往往表现为"一个接口,多个功能". 多态性可以是静态的或动态的.在静态多态性中,函数的响应是在编译时发生的.在动态多态性中,函数 ...

  2. Docker、kubernetes、微服务、SpringBoot/Cloud...好乱!到底要不要学?

    Docker.微服务日益火热的今天,相信标题上这些名词大家都不陌生.但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东 ...

  3. A. Srdce and Triangle 几何题

    链接:https://www.nowcoder.com/acm/contest/104/A来源:牛客网 题目描述 Let  be a regualr triangle, and D is a poin ...

  4. zcat,zgrep用法

    为减少日志文件占用的空间,很多情况下我们会将日志文件以天或周为周期打包成tar.gz 包保存.虽然这样做有利空间充分利用,但当我们想查看压缩包内的内容时确很不方便.如果只是一个tar.gz文件,可以将 ...

  5. c++中new的三种用法详细解析

    转载至: http://www.jb51.net/article/41524.htm 以下的是对c++中new的三种使用方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 一. ...

  6. idhttp与cookie

    用关键词“idhttp cookie”在各大搜索引擎得到的结果,大多千篇一律,如果你搜索到这一篇,恭喜你,你有福了. 以下内容测试环境:delphi2007,  winxp sp3, indy10. ...

  7. LeetCode 811 Subdomain Visit Count 解题报告

    题目要求 A website domain like "discuss.leetcode.com" consists of various subdomains. At the t ...

  8. 那些年读过的书《Java并发编程实战》一、构建线程安全类和并发应用程序的基础

    1.线程安全的本质和线程安全的定义 (1)线程安全的本质 并发环境中,当多个线程同时操作对象状态时,如果没有统一的状态访问同步或者协同机制,不同的线程调度方式和不同的线程执行次序就会产生不同的不正确的 ...

  9. 关于webpack,babel,以及es6和commonJS之间的联系(转)

    add by zhj: babel是将es6转为es5,而webpack从名字也能看出来,是一个打包工具,根据文件之间的依赖关系,将文件进行打包 原文:https://blog.csdn.net/a2 ...

  10. Nor Flash 驱动框架

    框架入口源文件: lcd.c (可根据入口源文件,再按着框架到内核走一遍) 内核版本:linux_2.6.22.6      硬件平台:JZ2440 以下是驱动框架: 以下是驱动代码 s3c_nor_ ...