當你想進行簡單效能測試監控的時候應該如何選擇監控命令?
此文已由作者趙慧莉授權網易雲社群釋出。
歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。
一、前言
在進行效能測試前,有些引數需要本地進行除錯,不適合直接使用效能測試平臺。主要通過監控CPU、記憶體、磁碟、網路情況來判斷是否符合標準。接下來將通過CPU、記憶體、磁碟、網路情況的評估標準、常見的監控命令、常見會出現的一些問題來進行分析。
二、資源監控
1、監控CPU
CPU評估
user + sys [0%, 50%] :負載低
user + sys [70%, 90%] :負載高
user + sys [90%, 100%] :滿負荷
CPU在滿負荷狀態下應符合7/3分佈
CPU的負載不能高於CPU核心數目
常用的監控命令
整理CPU使用情況:top/vmstat/dstat
每個CPU使用情況:mpstat
程序CPU使用情況:pidstat
舉例
vmstat命令:用來獲得有關程序、虛存、頁面交換空間及 CPU活動的資訊。(例項為:1s採集一次,採集4次後結束)
dstat命令, 預設情況它會收集-cpu-,-disk-,-net-,-paging-,-system-的資料。(預設輸入dstat等於輸入了dstat -cdngy 1或dstat -a 1. 推薦使用 date && dstat -tclmdny 60 一分鐘監視一次)
mpstat最大的特點是:可以檢視多核心cpu中每個計算核心的統計資料。
pidstat主要用於監控全部或指定程序佔用系統資源的情況,如CPU,記憶體、裝置IO、任務切換、執行緒等。
常見的CPU問題
多核使用率不均勻
CPU使用率過高
CPU週期性的飆升
2、監控記憶體
記憶體
實體記憶體:真正的記憶體
虛擬記憶體:為了滿足實體記憶體不足,利用磁碟空間虛擬出的邏輯記憶體
使用交換記憶體會帶來磁碟IO和CPU開銷的增加
常用的監控命令
top
free
vmstat
cat /proc/meminfo
舉例
top
free
常見的記憶體問題
OOM
記憶體暴增
swap升高
記憶體洩漏
3、監控磁碟
相關指標
IOPS:每秒讀寫次數,tps
bps:每秒讀寫塊數,Blk_read/s , Blk_wrtn/s
%util:裝置的利用率
svctm:平均每次裝置I/O操作的服務時間
await:平均每次裝置I/O操作的等待時間,排隊時間+服務時間
avgqu-sz:平均I/O佇列長度
await和svctm差距越大表示io的壓力越大
常用的監控命令
iostat
iotop
舉例
iostat選項-x,該選項將用於顯示和io相關的擴充套件資料。
4、監控網路
需要關注點
網路流量
監聽埠
連線數
控制代碼數
常用的監控命令
netstat / dstat
lsof
sar
tcpdump
iptraf
舉例
tcpdump(tcpdump -i any -s 0 -l -w - port 8186|strings )
常見的網路問題
能ping通但是服務不能訪問
too many open files
三、總結
本文主要從監控CPU、記憶體、磁碟、網路四個方面進行分析,每方面的從評估標準、常見的監控命令、常見會出現的一些問題來進行闡述,希望能給大家帶來基礎的認識。
更多網易技術、產品、運營經驗分享請點選。
相關文章:
【推薦】 jq一個強悍的json格式化檢視工具