Linux 效能監測 介紹

2021-06-13 14:53:38 字數 2471 閱讀 9073

看了某某教程、讀了某某手冊,按照要求改改某某設定、系統設定、核心引數就認為做到系統優化的想法很傻很天真:)系統優化是一項複雜、繁瑣、長期的工作,優化前需要監測、採集、測試、評估,優化後也需要測試、採集、評估、監測,而且是乙個長期和持續的過程,不是說現在優化了,測試了,以後就可以一勞永逸了,也不是說書本上的優化就適合眼下正在執行的系統,不同的系統、不同的硬體、不同的應用優化的重點也不同、優化的方法也不同、優化的引數也不同。效能監測是系統優化過程中重要的一環,如果沒有監測、不清楚效能瓶頸在**,優化什麼呢、怎麼優化呢?所以找到效能瓶頸是效能監測的目的,也是系統優化的關鍵。系統由若干子系統構成,通常修改乙個子系統有可能影響到另外乙個子系統,甚至會導致整個系統不穩定、崩潰。所以說優化、監測、測試通常是連在一起的,而且是乙個迴圈而且長期的過程,通常監測的子系統有以下這些:

這些子系統互相依賴,了解這些子系統的特性,監測這些子系統的效能引數以及及時發現可能會出現的瓶頸對系統優化很有幫助。

不同的系統用途也不同,要找到效能瓶頸需要知道系統跑的是什麼應用、有些什麼特點,比如 web server 對系統的要求肯定和 file server 不一樣,所以分清不同系統的應用型別很重要,通常應用可以分為兩種型別:

看看實際中的例子,第1個是檔案伺服器拷貝乙個大檔案時表現出來的特徵,第2個是 cpu 做大量計算時表現出來的特徵:

$ vmstat 1

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 4 140 1962724 335516 4852308 0 0 388 65024 1442 563 0 2 47 52 0

0 4 140 1961816 335516 4853868 0 0 768 65536 1434 522 0 1 50 48 0

0 4 140 1960788 335516 4855300 0 0 768 48640 1412 573 0 1 50 49 0

0 4 140 1958528 335516 4857280 0 0 1024 65536 1415 521 0 1 41 57 0

0 5 140 1957488 335516 4858884 0 0 768 81412 1504 609 0 2 50 49 0

$ vmstat 1

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r b swpd free buff cache si so bi bo in cs us sy id wa st

4 0 140 3625096 334256 3266584 0 0 0 16 1054 470 100 0 0 0 0

4 0 140 3625220 334264 3266576 0 0 0 12 1037 448 100 0 0 0 0

4 0 140 3624468 334264 3266580 0 0 0 148 1160 632 100 0 0 0 0

4 0 140 3624468 334264 3266580 0 0 0 0 1078 527 100 0 0 0 0

4 0 140 3624712 334264 3266580 0 0 0 80 1053 501 100 0 0 0 0

上面兩個例子最明顯的差別就是 id 一欄,代表 cpu 的空閒率,拷貝檔案時候 id 維持在 50% 左右,cpu 大量計算的時候 id 基本為 0。

我們只需要簡單的工具就可以對 linux 的效能進行監測,以下是 vpsee 常用的工具:

工具簡單介紹

top檢視程序活動狀態以及一些系統狀況

vmstat

檢視系統狀態、硬體和系統資訊等

iostat

檢視cpu 負載,硬碟狀況

sar綜合工具,檢視系統狀況

mpstat

檢視多處理器狀況

netstat

檢視網路狀況

iptraf

實時網路狀況監測

tcpdump

抓取網路資料報,詳細分析

tcptrace

資料報分析工具

netperf

網路頻寬工具

dstat

綜合工具,綜合了 vmstat, iostat, ifstat, netstat 等多個資訊

接下來幾天,vpsee 將會陸續介紹一些 linux 效能監測方面的經驗。

Linux 效能監測 介紹

看了某某教程 讀了某某手冊,按照要求改改某某設定 系統設定 核心引數就認為做到系統優化的想法很傻很天真 系統優化是一項複雜 繁瑣 長期的工作,優化前需要監測 採集 測試 評估,優化後也需要測試 採集 評估 監測,而且是乙個長期和持續的過程,不是說現在優化了,測試了,以後就可以一勞永逸了,也不是說書本...

Linux效能監測 監測目的與工具介紹

系統優化是一項複雜 繁瑣 長期的工作,優化前需要監測 採集 測試 評估,優化後也需要測試 採集 評估 監測,而且是乙個長期和持續的過程,不是說現在優化了,測試了,以後就可以一勞永逸了,也不是說書本上的優化就適合眼下正在執行的系統,不同的系統 不同的硬體 不同的應用優化的重點也不同 優化的方法也不同 ...

Linux效能監測 監測目的與工具介紹

系統優化是一項複雜 繁瑣 長期的工作,優化前需要監測 採集 測試 評估,優化後也需要測試 採集 評估 監測,而且是乙個長期和持續的過程,不是說現在優化了,測試了,以後就可以一勞永逸了,也不是說書本上的優化就適合眼下正在執行的系統,不同的系統 不同的硬體 不同的應用優化的重點也不同 優化的方法也不同 ...