一次因爲網卡流量跑滿引發的服務器丟包總結

  最近收到線上一臺DB服務器ping丟包,丟包率一直在30%左右。經過Zabbix監控查看了服務器CPU,內存都很正常,網卡流量也不高,基本在100M左右。
wKiom1ekGFCBE0nWAAHfgGoPDTk656.jpg-wh_50
緩存

  首先確認一下服務器硬件是否正常,因爲沒有收到硬件報警。登陸服務器經過HP管理工具在此確認了硬件信息都正常(硬盤,緩存卡,內存等)。
  第二步在排查一下系統問題,經過top,ps等命令也沒有發現什麼異常,基本上排除系統問題。
  第三步查看了一下該服務器上聯監控機端口流量,也都很正常,因爲收到只有這一臺服務器報警,也排除了上聯交換機故障問題。
  最後向同事諮詢了服務器承載業務類型,每2分鐘會同步大量的數據文件到該服務器上面,而後用sar命令查看一下網卡流量,發現發送流量瞬間在12萬KB/s,換算成b/s基本上在940-950Mb/s,意味着千兆網卡流量基本上爆滿,纔會引發服務器ping丟包。
wKioL1ekGHTRDUfnAAGPak_j6LQ842.jpg-wh_50
  因爲個人監控是每5分鐘抓一次,因此對應服務器瞬間高流量都沒有獲取到,還得優化一下監控時間間隔。bash

下面順便總結一下sar命令經常使用的選項,sar命令行的經常使用格式以下:
服務器

sar 選項 取樣時間間隔 輸出次數

1)查看CPU信息,1表示1秒鐘取一次值,2表示採集2次數據。
網絡

[root@monitor ~]# sar -u 1 2
Linux 2.6.32-358.el6.x86_64 (monitor)     08/05/16     _x86_64_    (24 CPU)
 
10:51:39        CPU     %user     %nice   %system   %iowait    %steal     %idle
10:51:40        all      0.08      0.00      0.17      0.00      0.00     99.75
10:51:41        all      0.21      0.00      0.21      0.00      0.00     99.58
Average:        all      0.15      0.00      0.19      0.00      0.00     99.67

輸出項說明:
app

CPU          all 表示統計信息爲全部CPU的平均值。
%user        顯示在用戶級別(application)運行使用CPU總時間的百分比。
%nice        顯示在用戶級別,用於nice操做,所佔用CPU總時間的百分比。
%system      在覈心級別(kernel)運行所使用CPU總時間的百分比。
%iowait      顯示用於等待I/O操做佔用 CPU 總時間的百分比。
%steal       管理程序(hypervisor)爲另外一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle        顯示CPU空閒時間佔用CPU總時間的百分比。

2)查看網絡接口信息。    
運維

[root@monitor ~]# sar -n DEV 1 2
Linux 2.6.32-358.el6.x86_64 (monitor)     08/05/16     _x86_64_    (24 CPU)
 
11:04:22        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11:04:23           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:23         eth0    140.40    170.71     98.07     84.00      0.00      0.00      2.02
11:04:23         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:23         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:23         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 
11:04:23        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11:04:24           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:24         eth0     40.59     26.73     41.62      4.17      0.00      0.00      0.99
11:04:24         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:24         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:24         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 
Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0     90.00     98.00     69.56     43.69      0.00      0.00      1.50
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

輸出項說明:
ide

IFACE        網絡設備名
rxpck/s      每秒接收的包總數
txpck/s      每秒傳輸的包總數
rxKB/s       每秒接收的字節(byte)總數
txKB/s       每秒傳輸的字節(byte)總數
rxcmp/s      每秒接收壓縮包的總數
txcmp/s      每秒傳輸壓縮包的總數
rxmcst/s     每秒接收的多播(multicast)包的總數3)查看磁盤1/0信息。

    

[root@monitor ~]# sar -b 1 2
Linux 2.6.32-358.el6.x86_64 (monitor)     08/05/16     _x86_64_    (24 CPU)
 
11:07:55          tps      rtps      wtps   bread/s   bwrtn/s
11:07:56        11.11      0.00     11.11      0.00    129.29
11:07:57         6.93      0.00      6.93      0.00     63.37
Average:         9.00      0.00      9.00      0.00     96.00

輸出項說明:
工具

tps       每秒鐘物理設備的I/O傳輸總量
rtps      每秒鐘從物理設備讀入的數據總量
wtps      每秒鐘向物理設備寫入的數據總量
bread/s   每秒鐘從物理設備讀入的數據量,單位爲 塊/s
bwrtn/s   每秒鐘向物理設備寫入的數據量,單位爲 塊/s

  總結:在系統運維的過程當中,通常關注服務器的下面指標。
  CPU使用率:若是服務器CPU使用率超過80-85%,說明服務器CPU處理能力比較繁忙,須要提高CPU性能。
  CPU iowait:若是服務器CPU iowait的值大於5-10%,說明磁盤I/O存在瓶頸,須要提高硬盤的讀寫速度。
  網卡流量:網卡流量和上聯交換機和服務器網卡都有關係。若是系統和網絡都正常,服務器出現丟包,應該考慮網卡的吞吐率是否達到上限而出現的丟包。性能

相關文章
相關標籤/搜索