天天看點

當你想進行簡單性能測試監控的時候應該如何選擇監控指令?

此文已由作者趙慧莉授權網易雲社群釋出。

歡迎通路網易雲社群,了解更多網易技術産品營運經驗。

一、前言

在進行性能測試前,有些參數需要本地進行調試,不适合直接使用性能測試平台。主要通過監控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
    • 當你想進行簡單性能測試監控的時候應該如何選擇監控指令?
    • 當你想進行簡單性能測試監控的時候應該如何選擇監控指令?
  • 常見的記憶體問題
    • 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格式化檢視工具

繼續閱讀