服務端性能監控工具nmon的使用

概述

在性能測試過程中,需要對服務端的各項資源使用情況進行監控。

nmon簡介

nmon是一種在AIX與各種Linux操作系統上廣泛使用的監控與分析工具,它能在系統運行過程中實時地捕捉系統資源的使用情況,記錄的信息比較全面,

並且能輸出結果到文件中,然後通過nmon_analyzer工具產生數據文件與圖形化結果。

nmon可監控的數據類型

  • 內存使用情況
  • 磁盤適配器
  • 文件系統中的可用空間
  • CPU使用率
  • 頁面空間和頁面速度
  • 異步I/O,僅適用於AIX
  • 網絡文件系統(NFS)
  • 磁盤I/O速度和讀寫比率
  • 服務器詳細信息和資源
  • 內核統計信息
  • 消耗資源最多的進程
  • 運行隊列信息

nmon監控工具的特點

  • 佔用系統資源少(一般不到2%)
  • 功能強大(監控數據類型全面)

安裝nmon

查看操作系統信息

[root@aliyun ~]# uname -a
Linux aliyun 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

查看需要被監控服務器的Linux發行版本

[root@aliyun ~]# lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.7.1908 (Core)
Release:	7.7.1908
Codename:	Core

可以看到操作系統爲64位,Linux發行版本爲CentOS7.7

下載nmon

手動下載nmon上傳至服務器

去這個官方下載地址下載

選擇第一個進行下載即可
在這裏插入圖片描述

然後解壓縮,選擇合適版本,上傳到Linux服務器

➜  下載 mkdir nmon                          
➜  下載 tar -xzvf nmon16m_helpsystems.tar.gz -C nmon
nmon_power_64_centos6
nmon_power_64_centos7
nmon_power_64_linux
nmon_power_64_rhel6
nmon_power_64_rhel7
nmon_power_64_sles11
nmon_power_64le_centos7
nmon_power_64le_centos8
nmon_power_64le_linux
nmon_power_64le_rhel7
nmon_power_64le_rhel7_gpu
nmon_power_64le_rhel8
nmon_power_64le_sles12
nmon_power_64le_ubuntu14
nmon_power_64le_ubuntu16
nmon_power_64le_ubuntu18
nmon_x86_64_centos5
nmon_x86_64_centos6
nmon_x86_64_centos7
nmon_x86_64_centos8
nmon_x86_64_debian08
nmon_x86_64_debian09
nmon_x86_64_debian10
nmon_x86_64_mint18
nmon_x86_64_mint19
nmon_x86_64_oel5
nmon_x86_64_oel6
nmon_x86_64_oel7
nmon_x86_64_oel8
nmon_x86_64_opensuse10
nmon_x86_64_opensuse11
nmon_x86_64_opensuse12
nmon_x86_64_opensuse15
nmon_x86_64_rhel5
nmon_x86_64_rhel6
nmon_x86_64_rhel7
nmon_x86_64_rhel8
nmon_x86_64_sles10
nmon_x86_64_sles11
nmon_x86_64_sles12
nmon_x86_64_sles15
nmon_x86_64_ubuntu14
nmon_x86_64_ubuntu16
nmon_x86_64_ubuntu18
nmon_x86_64_ubuntu19
➜  下載 cd nmon
➜  nmon ls
nmon_power_64_centos6      nmon_power_64_linux   nmon_x86_64_mint19      nmon_x86_64_rhel8
nmon_power_64_centos7      nmon_power_64_rhel6   nmon_x86_64_oel5        nmon_x86_64_sles10
nmon_power_64le_centos7    nmon_power_64_rhel7   nmon_x86_64_oel6        nmon_x86_64_sles11
nmon_power_64le_centos8    nmon_power_64_sles11  nmon_x86_64_oel7        nmon_x86_64_sles12
nmon_power_64le_linux      nmon_x86_64_centos5   nmon_x86_64_oel8        nmon_x86_64_sles15
nmon_power_64le_rhel7      nmon_x86_64_centos6   nmon_x86_64_opensuse10  nmon_x86_64_ubuntu14
nmon_power_64le_rhel7_gpu  nmon_x86_64_centos7   nmon_x86_64_opensuse11  nmon_x86_64_ubuntu16
nmon_power_64le_rhel8      nmon_x86_64_centos8   nmon_x86_64_opensuse12  nmon_x86_64_ubuntu18
nmon_power_64le_sles12     nmon_x86_64_debian08  nmon_x86_64_opensuse15  nmon_x86_64_ubuntu19
nmon_power_64le_ubuntu14   nmon_x86_64_debian09  nmon_x86_64_rhel5
nmon_power_64le_ubuntu16   nmon_x86_64_debian10  nmon_x86_64_rhel6
nmon_power_64le_ubuntu18   nmon_x86_64_mint18    nmon_x86_64_rhel7
➜  nmon 

然後只要把nmon_x86_64_centos7這一個文件上傳到服務器就可以了。

命令行方式直接在服務器上通過wget下載

wget http://sourceforge.net/projects/nmon/files/nmon16m_helpsystems.tar.gz

然後還是跟上邊步驟一樣,最後選擇nmon_x86_64_centos7這個版本的文件即可。

安裝nmon

# 改名
mv nmon_x86_64_centos7 nmon
# 給工具授權
chmod 777 nmon_x86_64_centos7

運行nmon

完成上面的操作後,執行 ./nmon 命令,出現如下界面,說明安裝成功:
nmon主界面

常用快捷命令說明

# c
查看CPU相關信息
# m
查看內存相關信息
# d          
查看磁盤相關信息
# n          
查看網絡相關信息
# t
查看相關進程信息
# h          
查看幫助相關信息

通過nmon採集服務器的性能數據

nmon通過命令行啓動監控,捕獲服務器的各項數據,命令如下

./nmon -ft -s 10 -c 60 -m /root/nmon 
# 參數說明 
-f   監控結果以文件形式輸出,默認機器名+日期.nmon格式
-F   指定輸出的文件名,比如test.nmon 
-s   指的是採樣的頻率,單位爲毫秒 
-c   指的是採樣的次數,即以上面的採樣頻率採集多少次 
-m   指定生成的文件目錄
  • 一般來說不建議對穩定性測試使用nmon監控,因爲生成的nmon文件超過10M時,分析工具會由於內存不足導致報錯。
  • 如果必須進行的話,建議加大采樣頻次(比如60s,這樣的話即使採集次數爲60次,也都已經採集了一個小時的服務器性能數據了)降低採樣次數(低於330次)。

監控結果分析

nmon監控捕獲的信息(也就是生成的.nmon文件),可以用nmonchart來進行分析。

下載nmonchart

wget http://sourceforge.net/projects/nmon/files/nmonchart39.tar
mkdir nmonchart
tar -xf nmonchart39.tar -C nmonchart/
cd nmonchart
➜  nmonchart ll
總用量 3.9M
-rwx------ 1 mi mi  45K 11月 20  2019 nmonchart
-rwx------ 1 mi mi 1.6K 11月 20  2019 nmonchart_cron
-rw------- 1 mi mi  109 11月 20  2019 nmonchart_license
-rwx------ 1 mi mi 2.2K 11月 20  2019 nmon_upload.php
-rw------- 1 mi mi  17K 11月 20  2019 README
-rw------- 1 mi mi 197K 11月 20  2019 sampleC.html
-rw------- 1 mi mi 468K 11月 20  2019 sampleC.nmon
-rw------- 1 mi mi 828K 11月 20  2019 sampleD.html
-rw------- 1 mi mi 2.4M 11月 20  2019 sampleD.nmon

如上所示nmonchart就是用來解析xxx.nmon文件的,首先要給nmonchart授予可執行權限

# 授權
chmod 777 nmonchart
# 解析c3-dp-staging02_200603_1927.nmon文件數據
./nmonchart c3-dp-staging02_200603_1927.nmon

執行上邊命令將會在當前目錄下生成一個已解析完成的c3-dp-staging02_200603_1927.htmlHTML文件。

然後我們雙擊打開這個HTML文件就可以看到已經解析成功的數據了。
在這裏插入圖片描述

具體指標參數說明參考官方文檔最下邊的Summary of the graphs(圖形摘要)說明

最後,我這邊提供了一個解析完成的HTML文件,可以直接在線進行查看。點我查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章