性能测试全栈笔记:54.数据存储性能监控工具-nmon
引导:nmon是IBM公司开发的Linux性能监控工具,可以实时展示系统性能情况,也可以将监控数据写入文件中,并使用nmon分析器做数据展示。
命令:./nmon -ft -s 5 -c 1000
- Nmon文件需要关注的标签页:
- cpu_all
- diskbusy
- net
- mem
- 思考:什么时候用nmon?
- 解答:压测前开始,压测后结束
性能测试方向:运维级别、数据库级别、代码级别调优!
首先在所需服务器上部署好nmon(压力机、应用服务器、数据库服务器、redis主从服务器、Nginx服务器等)
将文件nmon_x86_64_centos7上传到服务器指定位置:
- 修改文件为可执行文件,命令:
chmod +x nmon_x86_64_centos7
- 修改文件名称(也可以不修改):
mv nmon_x86_64_centos7 nmon
- 执行nmon:
./nmon

由图可见,输入对应的字母显示对应的指标情况
这样看太麻烦,下面我们用pinter脚本案例来说明nmon的整体用法:
对应服务器部署好nmon后,启动nmon:./nmon -ft -s 1 -c 540
表示:nmon服务每隔1秒采集一次,共采集540次

注意,回车后,是没有反应的,可以用ps -ef | grep nmon
看以下nmon服务是否启动成功
root 56990 1 0 22:57 pts/1 00:00:00 ./nmon -ft -s 1 -c 540
出现上面这行,说明nmon启动成功

开始运行脚本:jmeter -n -t ../script/20211229-1.jmx -l ../result/20211229-1.jtl -r
这里的步骤不再赘述了,复习地址:性能测试全栈笔记:49.Nginx-理论/应用部署/配置

设置的时间到了,脚本和nmon会自动停止。
【多读两遍】注意点:nmon在设置时,前后各多留2分钟,比如压测时间是300秒,那么nmon需要设置:每隔1秒,5+4min,也就是9min*60=540秒(次)
回到nmon所在文件目录,会出现:jmeter1_211229_2257.nmon,类似这样的文件,这是nmon采集的结果文件,方便我们线下进行数据分析。
下载nmon解析文件:(非常重要)

点击这个按钮,选择nmon结果文件,即可进入分析界面


解析结果文件:
我们关心的数据:
- CPU_ALL
- idle:空闲率
- cpu%:cpu占用
- DISKBUSY
- 全部关注,看是否接近写满
- MEM
- memtotal
- memfree
- cached
- buffers
- 关于内存,可以增加一列,算出内存占比:
=(memtotal-memfree-buffers-cached)/memtotal*100
- NET
- ens33-total:看这个有没有接近占满
注意:nmon执行的同时,可以使用dstat工具进行验证,使性能结果更具备说服力。