關(guān)于Linux性能監(jiān)控之Network篇
大家都知道,影響網(wǎng)絡(luò)的因素有很多這些因素包括,延遲、沖突、阻塞等等。 節(jié)下來(lái)讓我們了解Linux性能監(jiān)控之下Network的具體情況,并加上我們以前的幾篇介紹,希望在關(guān)于Linux性能監(jiān)控這方面對(duì)大家有更多的幫助。
大部分的以太網(wǎng)絡(luò)都是自適應(yīng)速度的,因?yàn)橐粋€(gè)網(wǎng)絡(luò)中可能有不同的網(wǎng)絡(luò)設(shè)備采用不同的速率和工作模式(全雙工或半雙工)。大部分企業(yè)網(wǎng)絡(luò)都工作在100到1000BaseTX。ethtool命令可以設(shè)置網(wǎng)卡的工作速率和模式。
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
Linux性能監(jiān)控我們可以看到網(wǎng)卡工作在10Mb/s,模式為半雙工,并且打開(kāi)了自適應(yīng)開(kāi)關(guān)。我們通過(guò)下列命令強(qiáng)制設(shè)置網(wǎng)卡工作在100Mb/s全雙工模式,并關(guān)閉自適應(yīng)功能。
# ethtool -s eth0 speed 100 duplex full autoneg off
再次運(yùn)行ethtool顯示如下:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
用iptraf工具可以清楚的看到每個(gè)網(wǎng)卡的工作情況。
# iptraf –d eth0
利用iptraf還可以監(jiān)聽(tīng)固定TCP端口的流量,如對(duì)于Web服務(wù)器我們希望監(jiān)聽(tīng)80端口的流量,對(duì)于郵件服務(wù)器我們關(guān)注25端口的流量。
網(wǎng)絡(luò)中最常見(jiàn)的錯(cuò)誤就是沖突,由于網(wǎng)絡(luò)中目前基本采用交換機(jī)環(huán)境,因此沖突問(wèn)題已被消除。但是當(dāng)網(wǎng)絡(luò)流量不斷增大的時(shí)候,就會(huì)出現(xiàn)丟包,網(wǎng)卡過(guò)載等情況。在網(wǎng)絡(luò)流量很大的時(shí)候我們用sar命令來(lái)給出網(wǎng)絡(luò)中可能的錯(cuò)誤:
# sar -n FULL 5 100
Linux 2.6.9-55.ELsmp (sapulpa) 06/23/2007
11:44:32 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
11:44:37 AM lo 6.00 6.00 424.40 424.40 0.00 0.00 0.00
11:44:37 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:44:37 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:44:32 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
11:44:37 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:44:37 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:44:37 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:44:32 AM totsck tcpsck udpsck rawsck ip-frag
11:44:37 AM 297 79 8 0 0
rxerr/s是接受錯(cuò)誤率;txerr/s是發(fā)送錯(cuò)誤率;coll/s沖突率;rxdrop/s接受幀丟失率;txdrop/s發(fā)送幀丟失率; txcarr/s載波錯(cuò)誤率;rxfram/s幀排列錯(cuò)誤;rxfifo/s接受FIFO錯(cuò)誤;txfifo/s發(fā)送FIFO錯(cuò)誤。從上面輸出看出各種錯(cuò) 誤為零,證明網(wǎng)絡(luò)工作良好。
Linux性能監(jiān)控總的來(lái)說(shuō)監(jiān)視網(wǎng)絡(luò)性能,我們有遵循一下幾點(diǎn):
1. 檢查所有網(wǎng)絡(luò)接口確保他們都運(yùn)行在正確的速率;
2. 檢查每塊網(wǎng)卡的吞吐量確保沒(méi)有造成過(guò)載;
3. 檢查流量的類型確保正確的數(shù)據(jù)流在傳送。
【編輯推薦】