分析系統的效能問題的維度

2021-06-11 20:56:22 字數 1989 閱讀 1082

如何分析系統的效能問題:

從以下幾個維度進行考慮

當併發壓力加大時,往往是吞吐量上不去,肯定是某乙個方面出現了瓶頸,(比如cpu,記憶體(大量的swap),磁碟io,網路io,作業系統,應用)

如果cpu比較高(user,sys,wa),user高,可以把系統的執行緒dump出來,觀察系統正在做的邏輯,優化邏輯;sys高,則說明kernel耗費了大量的cpu時間,比如當前的執行緒的切換比較厲害等等;wa高一般是io操作比較頻繁,cpu頻繁排程

檢視cpu,還需要觀察系統load,一般不要超過系統的物理core數量。

如果出現大量的swap,說明物理記憶體不足

磁碟io(檔案系統cache)

網路io(包的數量,以及大小)

應用本身,比如鎖,還有連線池的大小設定,併發連線數限制(這種是資源利用率不高,但是tps上不去)

作業系統(檔案控制代碼,socket優化等)

附上作業系統優化的引數

/etc/sysctl.conf(也可以通過/proc):

net.ipv4.tcp_max_syn_backlog = 8192//每個埠的 連線請求排隊數量,多餘該值,連線請求被丟棄(客戶端無法成功連線該伺服器)

net.core.netdev_max_backlog = 5000

net.core.somaxconn = 32767

net.core.rmem_max = 16777216//read緩衝區最大長度(b)

net.core.wmem_max = 16777216//寫緩衝區最大長度(b)

net.ipv4.tcp_keepalive_time = 1200//超過多少秒連線處於空閒狀態,則進行探測

net.ipv4.tcp_fin_timeout = 30//關閉後,處於time_await轉台,轉到close狀態可以重新利用該socket的時間(秒)

net.ipv4.tcp_rmem = 4096 262140 16777216//最小、預設、最大

net.ipv4.tcp_wmem = 4096 262140 16777216//最小、預設、最大

# net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.ip_local_port_range = 1024  65535//臨時埠範圍

net.ipv4.tcp_tw_reuse = 1//表示開啟重用。允許將

time-wait sockets

重新用於新的

tcp連線,預設為

0,表示關閉

net.ipv4.tcp_tw_recycle = 1//表示開啟

tcp連線中

time-wait sockets

的快速**,預設為

0,表示關閉。

fs.file-max = 65535//檔案最大控制代碼數量

net.ipv4.tcp_max_tw_buckets = 5000  

表示系統同時保持time_wait套接字的最大數量,如果超過這個數字,time_wait套接字將立刻被清除並列印警告資訊。預設為 180000,改為5000。對於apache、nginx等伺服器,上幾行的引數可以很好地減少time_wait套接字數量,但是對於squid,效果卻不大。此項引數可以控制time_wait套接字的最大數量,避免squid伺服器被大量的time_wait套接字拖死。 

/etc/security/limits.conf:

*    soft    nofile    65536

*    hard    nofile    65536

lsmpusr soft nproc  32000

lsmpusr hard nproc  32000

系統的效能分析

一般情況下cpu過高在幾分鐘之內,系統無感知變慢,是正常情況,若cpu過高持續時間較長,則可能存在問題。先收集一下日誌分析一把吧。1592程序號 以下為操作指導 若應用cpu過高,操作以下步驟 開啟第乙個視窗 top h p 程序號 此為應用的程序號 開啟第二個視窗 su wfm1 cd opt i...

系統效能分析

當系統變慢時候,我們首先關注的可能是cpu的指標,有時候發現cpu使用率一點都不高,但是系統還是卡,這時可能就需要關心另外乙個影響效能的東西 磁碟的io效能。通過top命令中的 wa可以獲取系統當前的io狀態,如果該值居高不小,那磁碟的io可能就有問題了。另外可以通過iotop命令來詳細了解什麼程式...

系統效能分析

系統的整體效能取決於各種資源的平衡,類似木桶理論,某種資源的耗盡會嚴重阻礙系統的效能。linux中需要監控的資源主要有 cpu 主存 記憶體 硬碟空間 i o時間 網路時間 應用程式等。統效能的主要因素有 因素 說明使用者態cpu cpu在使用者態執行使用者程式所花費的時間,包括庫呼叫,但是不包括核...