精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

老牌運維教你如何快速分析Linux服務器的性能問題

開發 架構
作為一名linux系統運維人員,最主要的工作是優化系統配置,使應用在系統上以最優的狀態運行,但是由于硬件問題、軟件問題、網絡環境等的復雜性 和多變性,導致對系統的優化變得異常復雜。

 作為一名linux系統運維人員,最主要的工作是優化系統配置,使應用在系統上以最優的狀態運行,但是由于硬件問題、軟件問題、網絡環境等的復雜性 和多變性,導致對系統的優化變得異常復雜,如何定位性能問題出在哪個方面,是性能優化的一大難題, 本章從系統入手,重點講述由于系統軟、硬件配置不當可能造成的性能問題,并且給出了檢測系統故障和優化性能的一般方法和流程。

[[278170]]

1 cpu性能評估

Cpu是影響Linux性能的主要因素之一,下面先介紹幾個查看CPU性能的命令。

1.1 vmstat命令

該命令可以顯示關于系統各種資源之間相關性能的簡要信息,這里我們主要用它來看CPU的一個負載情況。

下面是vmstat命令在某個系統的輸出結果:

  1. [root@node1 ~]# vmstat 2 3 
  2. procs ———–memory———- —swap– —–io—- –system– —–cpu—— 
  3.  r b swpd free buff cache si so bi bo in cs us sy id wa st 
  4.  0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0 
  5.  0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0 
  6.  0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0 

對上面每項的輸出解釋如下:

  1.  procs 
  2.  
  3.  r列表示運行和等待cpu時間片的進程數,這個值如果長期大于系統CPU的個數,說明CPU不足,需要增加CPU。 
  4.  
  5.  b列表示在等待資源的進程數,比如正在等待I/O、或者內存交換等。 
  6.  
  7.  memory 
  8.  
  9.  swpd列表示切換到內存交換區的內存數量(以k為單位)。如果swpd的值不為0,或者比較大,只要si、so的值長期為0,這種情況下一般不用擔心,不會影響系統性能。 
  10.  
  11.  free列表示當前空閑的物理內存數量(以k為單位) 
  12.  
  13.  buff列表示buffers cache的內存數量,一般對塊設備的讀寫才需要緩沖。 
  14.  
  15.  cache列表示page cached的內存數量,一般作為文件系統cached,頻繁訪問的文件都會被cached,如果cache值較大,說明cached的文件數較多,如果此時IO中bi比較小,說明文件系統效率比較好。 
  16.  
  17.  swap 
  18.  
  19.  si列表示由磁盤調入內存,也就是內存進入內存交換區的數量。 
  20.  
  21.  so列表示由內存調入磁盤,也就是內存交換區進入內存的數量。 

一般情況下,si、so的值都為0,如果si、so的值長期不為0,則表示系統內存不足。需要增加系統內存。

  1.  IO項顯示磁盤讀寫狀況 
  2.  
  3.  Bi列表示從塊設備讀入數據的總量(即讀磁盤)(每秒kb)。 
  4.  
  5.  Bo列表示寫入到塊設備的數據總量(即寫磁盤)(每秒kb) 

這里我們設置的bi+bo參考值為1000,如果超過1000,而且wa值較大,則表示系統磁盤IO有問題,應該考慮提高磁盤的讀寫性能。

  1.  system 顯示采集間隔內發生的中斷數 
  2.  in列表示在某一時間間隔中觀測到的每秒設備中斷數。 
  3.  cs列表示每秒產生的上下文切換次數。 

上面這2個值越大,會看到由內核消耗的CPU時間會越多。

  1.  CPU項顯示了CPU的使用狀態,此列是我們關注的重點。 
  2.  us列顯示了用戶進程消耗的CPU 時間百分比。us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期大于50%,就需要考慮優化程序或算法。 
  3.  sy列顯示了內核進程消耗的CPU時間百分比。Sy的值較高時,說明內核消耗的CPU資源很多。 

根據經驗,us+sy的參考值為80%,如果us+sy大于 80%說明可能存在CPU資源不足。

  1.  id 列顯示了CPU處在空閑狀態的時間百分比。 
  2.  wa列顯示了IO等待所占用的CPU時間百分比。wa值越高,說明IO等待越嚴重,根據經驗,wa的參考值為20%,如果wa超過20%,說明IO等待嚴重,引起IO等待的原因可能是磁盤大量隨機讀寫造成的,也可能是磁盤或者磁盤控制器的帶寬瓶頸造成的(主要是塊操作)。 

綜上所述,在對CPU的評估中,需要重點注意的是procs項r列的值和CPU項中us、sy和id列的值。

1.2 sar命令

檢查CPU性能的第二個工具是sar,sar功能很強大,可以對系統的每個方面進行單獨的統計,但是使用sar命令會增加系統開銷,不過這些開銷是可以評估的,對系統的統計結果不會有很大影響。

下面是sar命令對某個系統的CPU統計輸出:

  1. [root@webserver ~]# sar -u 3 5 
  2. Linux 2.6.9-42.ELsmp (webserver) 11/28/2008 _i686_ (8 CPU) 
  3.     11:41:24 AM CPU %user %nice %system %iowait %steal %idle 
  4. 11:41:27 AM all 0.88 0.00 0.29 0.00 0.00 98.83 
  5. 11:41:30 AM all 0.13 0.00 0.17 0.21 0.00 99.50 
  6. 11:41:33 AM all 0.04 0.00 0.04 0.00 0.00 99.92 
  7. 11:41:36 AM all 0.29 0.00 0.13 0.00 0.00 99.58 
  8. 11:41:39 AM all 0.38 0.00 0.17 0.04 0.00 99.41 
  9. Average: all 0.34 0.00 0.16 0.05 0.00 99.45 

對上面每項的輸出解釋如下:

  1.  %user列顯示了用戶進程消耗的CPU 時間百分比。 
  2.  
  3.  %nice列顯示了運行正常進程所消耗的CPU 時間百分比。 
  4.  
  5.  %system列顯示了系統進程消耗的CPU時間百分比。 
  6.  
  7.  %iowait列顯示了IO等待所占用的CPU時間百分比 
  8.  
  9.  %steal列顯示了在內存相對緊張的環境下pagein強制對不同的頁面進行的steal操作 。 
  10.  
  11.  %idle列顯示了CPU處在空閑狀態的時間百分比。 

這個輸出是對系統整體CPU使用狀況的統計,每項的輸出都非常直觀,并且最后一行Average是個匯總行,是上面統計信息的一個平均值。

需要注意的一點是:第一行的統計信息中包含了sar本身的統計消耗,所以%user列的值會偏高一點,不過,這不會對統計結果產生多大影響。

在一個多CPU的系統中,如果程序使用了單線程,會出現這么一個現象,CPU的整體使用率不高,但是系統應用卻響應緩慢,這可能是由于程序使用單線程的原因,單線程只使用一個CPU,導致這個CPU占用率為100%,無法處理其它請求,而其它的CPU卻閑置,這就導致 了整體CPU使用率不高,而應用緩慢 現象的發生 。

針對這個問題,可以對系統的每個CPU分開查詢,統計每個CPU的使用情況:

  1. [root@webserver ~]# sar -P 0 3 5 
  2. Linux 2.6.9-42.ELsmp (webserver) 11/29/2008 _i686_ (8 CPU) 
  3.     06:29:33 PM CPU %user %nice %system %iowait %steal %idle 
  4. 06:29:36 PM 0 3.00 0.00 0.33 0.00 0.00 96.67 
  5. 06:29:39 PM 0 0.67 0.00 0.33 0.00 0.00 99.00 
  6. 06:29:42 PM 0 0.00 0.00 0.33 0.00 0.00 99.67 
  7. 06:29:45 PM 0 0.67 0.00 0.33 0.00 0.00 99.00 
  8. 06:29:48 PM 0 1.00 0.00 0.33 0.33 0.00 98.34 
  9. Average: 0 1.07 0.00 0.33 0.07 0.00 98.53 

這個輸出是對系統的第一顆CPU的信息統計,需要注意的是,sar中對CPU的計數是從0開始的,因此,“sar -P 0 3 5”表示對系統的第一顆CPU進行信息統計,“sar -P 4 3 5”則表示對系統的第五顆CPU進行統計。依次類推。可以看出,上面的系統有八顆CPU。

1.3 iostat命令

iostat指令主要用于統計磁盤IO狀態,但是也能查看CPU的使用信息,它的局限性是只能顯示系統所有CPU的平均信息,看下面的一個輸出:

  1. [root@webserver ~]# iostat -c 
  2. Linux 2.6.9-42.ELsmp (webserver) 11/29/2008 _i686_ (8 CPU) 
  3.     avg-cpu: %user %nice %system %iowait %steal %idle 
  4.  2.52 0.00 0.30 0.24 0.00 96.96 

在這里,我們使用了“-c”參數,只顯示系統CPU的統計信息,輸出中每項代表的含義與sar命令的輸出項完全相同,不再詳述。

1.4 uptime命令

uptime是監控系統性能最常用的一個命令,主要用來統計系統當前的運行狀況,輸出的信息依次為:系統現在的時間、系統從上次開機到現在運行了多長時間、系統目前有多少登陸用戶、系統在一分鐘內、五分鐘內、十五分鐘內的平均負載。看下面的一個輸出:

  1. [root@webserver ~]# uptime 
  2.  18:52:11 up 27 days, 19:44, 2 users, load average: 0.12, 0.08, 0.08 

這里需要注意的是load average這個輸出值,這三個值的大小一般不能大于系統CPU的個數,例如,本輸出中系統有8個CPU,如果load average的三個值長期大于8時,說明CPU很繁忙,負載很高,可能會影響系統性能,但是偶爾大于8時,倒不用擔心,一般不會影響系統性能。相反,如果load average的輸出值小于CPU的個數,則表示CPU還有空閑的時間片,比如本例中的輸出,CPU是非常空閑的。

1.5 本節小結

上面介紹了檢查CPU使用狀況的四個命令,通過這些命令需要了解的是:系統CPU是否出現性能瓶頸,也就是說,以上這些命令只能查看CPU是否繁忙,負載是否過大,但是無法知道CPU為何負載過大,因而,判斷系統CPU出現問題后,要結合top、ps等命令進一步檢查是由那些進程導致CPU負載過大的。引起CPU資源緊缺的原因可能是應用程序不合理造成的,也可能是硬件資源匱乏引起的,所以,要具體問題具體分析,或者優化應用程序,或者增加系統CPU資源。

2 內存性能評估

內存的管理和優化是系統性能優化的一個重要部分,內存資源的充足與否直接影響應用系統的使用性能,在進行內存優化之前,一定要熟悉linux的內存管理機制,這一點我們在前面的章節已經有深入講述,本節的重點是如何通過系統命令監控linux系統的內存使用狀況。

2.1 free 命令

free是監控linux內存使用狀況最常用的指令,看下面的一個輸出:

  1. [root@webserver ~]# free -m 
  2.  total used free shared buffers cached 
  3. Mem: 8111 7185 925 0 243 6299 
  4. -/+ buffers/cache: 643 7468 
  5. Swap: 8189 0 8189 

“free –m”表示以M為單位查看內存使用情況,在這個輸出中,我們重點關注的應該是free列與cached列的輸出值,由輸出可知,此系統共8G內存,系統空閑內存還有925M,其中,Buffer Cache占用了243M,Page Cache占用了6299M,由此可知系統緩存了很多的文件和目錄,而對于應用程序來說,可以使用的內存還有7468M,當然這個7468M包含了Buffer Cache和Page Cache的值。在swap項可以看出,交換分區還未使用。所以從應用的角度來說,此系統內存資源還非常充足。

一般有這樣一個經驗公式:應用程序可用內存/系統物理內存>70%時,表示系統內存資源非常充足,不影響系統性能,應用程序可用內存/系統物理內存<20%時,表示系統內存資源緊缺,需要增加系統內存,20%<應用程序可用內存/系統物理內存<70%時,表示系統內存資源基本能滿足應用需求,暫時不影響系統性能。

free命令還可以適時的監控內存的使用狀況,使用“-s”參數可以在指定的時間段內不間斷的監控內存的使用情況:

  1. [root@webserver ~]# free -b -s 5 
  2.  total used free shared buffers cached 
  3. Mem: 8505901056 7528706048 977195008 0 260112384 6601158656 
  4. -/+ buffers/cache: 667435008 7838466048 
  5. Swap: 8587149312 163840 8586985472 
  6.      total used free shared buffers cached 
  7. Mem: 8505901056 7526936576 978964480 0 260128768 6601142272 
  8. -/+ buffers/cache: 665665536 7840235520 
  9. Swap: 8587149312 163840 8586985472 
  10.      total used free shared buffers cached 
  11. Mem: 8505901056 7523987456 981913600 0 260141056 6601129984 
  12. -/+ buffers/cache: 662716416 7843184640 
  13. Swap: 8587149312 163840 8586985472 

其中,“-b”表示以千字節(也就是1024字節為單位)來顯示內存使用情況。

2.2 通過watch與free相結合動態監控內存狀況

watch是一個非常有用的命令,幾乎每個linux發行版都帶有這個工具,通過watch,可以動態的監控命令的運行結果,省去手動執行的麻煩。

可以在watch后面跟上需要運行的命令,watch就會自動重復去運行這個命令,默認是2秒鐘執行一次,并把執行的結果更新在屏幕上。例如:

  1. [root@webserver ~]# watch -n 3 -d free 
  2.  Every 3.0s: free Sun Nov 30 16:23:20 2008 
  3.      total used free shared buffers cached 
  4. Mem: 8306544 7349548 956996 0 203296 6500024 
  5. -/+ buffers/cache: 646228 7660316 
  6. Swap: 8385888 160 8385728 

其中,“-n”指定重復執行的時間,“-d”表示高亮顯示變動。

2.3 vmstat命令監控內存

vmstat命令在監控系統內存方面功能強大,請看下面的一個輸出:

  1. procs ———–memory———- —swap– —–io—- –system– —-cpu—- 
  2.  r b swpd free buff cache si so bi bo in cs us sy id wa 
  3.  0 0 906440 22796 155616 1325496 340 180 2 4 1 4 80 0 10 10 
  4.  0 0 906440 42796 155616 1325496 320 289 0 54 1095 287 70 15 0 15 
  5.  0 0 906440 42884 155624 1325748 236 387 2 102 1064 276 78 2 5 15 

對于內存的監控,在vmstat中重點關注的是swpd、si和so行,從這個輸出可以看出,此系統內存資源緊缺,swpd占用了900M左右內存,si和so占用很大,而由于系統內存的緊缺,導致出現15%左右的系統等待,此時增加系統的內存是必須要做的。

2.4 sar -r命令組合

sar命令也可以監控linux的內存使用狀況,可以通過“sar –r”組合查看系統內存和交換空間的使用率。請看下面的一個輸出:

  1. [root@webserver ~]# sar -r 2 3 
  2. Linux 2.6.9-42.ELsmp (webserver) 11/30/2008 _i686_ (8 CPU) 
  3.     09:57:33 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 
  4. 09:57:35 PM 897988 7408556 89.19 249428 6496532 786556 4.71 
  5. 09:57:37 PM 898564 7407980 89.18 249428 6496532 784276 4.70 
  6. 09:57:39 PM 899196 7407348 89.17 249440 6496520 782132 4.69 
  7. Average: 898583 7407961 89.18 249432 6496528 784321 4.70 

其中:

Kbmemfree表示空閑物理內存大小,kbmemused表示已使用的物理內存空間大小,%memused表示已使用內存占總內存大小的百分比,kbbuffers和kbcached分別表示Buffer Cache和Page Cache的大小,kbcommit和%commit分別表示應用程序當前使用的內存大小和使用百分比。

可以看出sar的輸出其實與free的輸出完全對應,不過sar更加人性化,不但給出了內存使用量,還給出了內存使用的百分比以及統計的平均值。從%commit項可知,此系統目前內存資源充足。

2.5 本節小結

上面介紹了內存監控常用的幾個指令以及一些經驗規則,其實現在的系統在內存方面出現的瓶頸已經很少,因為內存價格很低,充足的內存已經完全能滿足應用程序和系統本身的需要,如果系統在內存方面出現瓶頸,很大的可能是應用程序本身的問題造成的。

3 磁盤I/O性能評估

在對磁盤I/O性能做評估之前,必須知道的幾個方面是:

  •  熟悉RAID存儲方式,可以根據應用的不同,選擇不同的RAID方式,例如,如果一個應用經常有大量的讀操作,可以選擇RAID5方式構建磁盤陣列存儲數據,如果應用有大量的、頻繁的寫操作,可以選擇raid0存取方式,如果應用對數據安全要求很高,同時對讀寫也有要求的話,可以考慮raid01存取方式等等。
  • 盡可能用內存的讀寫代替直接磁盤I/O,使頻繁訪問的文件或數據放入內存中進行操作處理,因為內存讀寫操作比直接磁盤讀寫的效率要高千倍。
  • 將經常進行讀寫的文件與長期不變的文件獨立出來,分別放置到不同的磁盤設備上。
  • 對于寫操作頻繁的數據,可以考慮使用裸設備代替文件系統。這里簡要講述下文件系統與裸設備的對比:

使用裸設備的優點有:

  • 數據可以直接讀寫,不需要經過操作系統級的緩存,節省了內存資源,避免了內存資源爭用。
  • 避免了文件系統級的維護開銷,比如文件系統需要維護超級塊、I-node等。
  • 避免了操作系統的cache預讀功能,減少了I/O請求。

使用裸設備的缺點是:

  • 數據管理、空間管理不靈活,需要很專業的人來操作。

其實裸設備的優點就是文件系統的缺點,反之也是如此,這就需要我們做出合理的規劃和衡量,根據應用的需求,做出對應的策略。

下面接著介紹對磁盤IO的評估標準。

3.1 sar -d命令組合

通過“sar –d”組合,可以對系統的磁盤IO做一個基本的統計,請看下面的一個輸出:

  1. [root@webserver ~]# sar -d 2 3 
  2. Linux 2.6.9-42.ELsmp (webserver) 11/30/2008 _i686_ (8 CPU) 
  3.     11:09:33 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 
  4. 11:09:35 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
  5.     11:09:35 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 
  6. 11:09:37 PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00 
  7.     11:09:37 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 
  8. 11:09:39 PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05 
  9.     Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 
  10. Average: dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02 

對上面每項的輸出解釋如下:

  • DEV表示磁盤設備名稱。
  • tps表示每秒到物理磁盤的傳送數,也就是每秒的I/O流量。一個傳送就是一個I/O請求,多個邏輯請求可以被合并為一個物理I/O請求。
  • d_sec/s表示每秒從設備讀取的扇區數(1扇區=512字節)。
  • wr_sec/s表示每秒寫入設備的扇區數目。
  • avgrq-sz表示平均每次設備I/O操作的數據大小(以扇區為單位)。
  • avgqu-sz表示平均I/O隊列長度。
  • await表示平均每次設備I/O操作的等待時間(以毫秒為單位)。
  • svctm表示平均每次設備I/O操作的服務時間(以毫秒為單位)。
  • %util表示一秒中有百分之幾的時間用于I/O操作。

Linux中I/O請求系統與現實生活中超市購物排隊系統有很多類似的地方,通過對超市購物排隊系統的理解,可以很快掌握linux中I/O運行機制。比如:

avgrq-sz類似與超市排隊中每人所買東西的多少。

avgqu-sz類似與超市排隊中單位時間內平均排隊的人數。

await類似與超市排隊中每人的等待時間。

svctm類似與超市排隊中收銀員的收款速度。

%util類似與超市收銀臺前有人排隊的時間比例。

對以磁盤IO性能,一般有如下評判標準:

正常情況下svctm應該是小于await值的,而svctm的大小和磁盤性能有關,CPU、內存的負荷也會對svctm值造成影響,過多的請求也會間接的導致svctm值的增加。

await值的大小一般取決與svctm的值和I/O隊列長度以及I/O請求模式,如果svctm的值與await很接近,表示幾乎沒有I/O等待,磁盤性能很好,如果await的值遠高于svctm的值,則表示I/O隊列等待太長,系統上運行的應用程序將變慢,此時可以通過更換更快的硬盤來解決問題。

%util項的值也是衡量磁盤I/O的一個重要指標,如果%util接近100%,表示磁盤產生的I/O請求太多,I/O系統已經滿負荷的在工作,該磁盤可能存在瓶頸。長期下去,勢必影響系統的性能,可以通過優化程序或者通過更換更高、更快的磁盤來解決此問題。

3.2 iostat –d命令組合

通過“iostat –d”命令組合也可以查看系統磁盤的使用狀況,請看如下輸出:

  1. [root@webserver ~]# iostat -d 2 3 
  2. inux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU) 
  3. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
  4. da 1.87 2.58 114.12 6479462 286537372 
  5. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
  6. da 0.00 0.00 0.00 0 0 
  7. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
  8. da 1.00 0.00 12.00 0 24 

對上面每項的輸出解釋如下:

  • Blk_read/s表示每秒讀取的數據塊數。
  • Blk_wrtn/s表示每秒寫入的數據塊數。
  • Blk_read表示讀取的所有塊數
  • Blk_wrtn表示寫入的所有塊數。

這里需要注意的一點是:上面輸出的第一項是系統從啟動以來到統計時的所有傳輸信息,從第二次輸出的數據才代表在檢測的時間段內系統的傳輸值。

可以通過Blk_read/s和Blk_wrtn/s的值對磁盤的讀寫性能有一個基本的了解,如果Blk_wrtn/s值很大,表示磁盤的寫操作很頻繁,可以考慮優化磁盤或者優化程序,如果Blk_read/s值很大,表示磁盤直接讀取操作很多,可以將讀取的數據放入內存中進行操作。對于這兩個選項的值沒有一個固定的大小,根據系統應用的不同,會有不同的值,但是有一個規則還是可以遵循的:長期的、超大的數據讀寫,肯定是不正常的,這種情況一定會影響系統性能。

“iostat –x”組合還提供了對每個磁盤的單獨統計,如果不指定磁盤,默認是對所有磁盤進行統計,請看下面的一個輸出:

  1. [root@webserver ~]# iostat -x /dev/sda 2 3 
  2. Linux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU) 
  3.     avg-cpu: %user %nice %system %iowait %steal %idle 
  4.  2.45 0.00 0.30 0.24 0.00 97.03 
  5.     Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util 
  6. sda 0.01 12.48 0.10 1.78 2.58 114.03 62.33 0.07 38.39 1.30 0.24 
  7.     avg-cpu: %user %nice %system %iowait %steal %idle 
  8.  3.97 0.00 1.83 8.19 0.00 86.14 
  9.     Device:rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util 
  10. sda 0.00 195.00 0.00 18.00 0.00 1704.00 94.67 0.04 2.50 0.11 0.20 
  11.     avg-cpu: %user %nice %system %iowait %steal %idle 
  12.  4.04 0.00 1.83 8.01 0.00 86.18 
  13.     Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util 
  14. sda 0.00 4.50 0.00 7.00 0.00 92.00 13.14 0.01 0.79 0.14 0.10 

這個輸出基本與“sar –d”相同,需要說明的幾個選項的含義為:

  • rrqm/s表示每秒進行merged的讀操作數目。
  • wrqm/s表示每秒進行 merge 的寫操作數目。
  • r/s表示每秒完成讀I/O設備的次數。
  • w/s表示每秒完成寫I/O設備的次數。
  • rsec/s表示每秒讀取的扇區數。
  • wsec/s表示每秒寫入的扇區數。

3.3 vmstat –d組合

通過“vmstat –d”組合也可以查看磁盤的統計數據,情況下面的一個輸出:

  1. [root@webserver ~]# vmstat -d 3 2|grep sda 
  2. disk- ————reads———— ————writes———– —–IO—— 
  3.  total merged sectors ms total merged sectors ms cur sec 
  4. sda 239588 29282 6481862 1044442 4538678 32387680 295410812 186025580 0 6179 
  5. disk- ————reads———— ————writes———– —–IO—— 
  6.  total merged sectors ms total merged sectors ms cur sec 
  7. sda 239588 29282 6481862 1044442 4538680 32387690 295410908 186025581 0 6179 

這個輸出顯示了磁盤的reads、writes和IO的使用狀況。

3.4 本節小結

上面主要講解了對磁盤I/O的性能評估,其實衡量磁盤I/O好壞是多方面的,有應用程序本身的,也有硬件設計上的,還有系統自身配置的問題等,要解決I/O的瓶頸,關鍵是要提高I/O子系統的執行效率。例如,首要要從應用程序上對磁盤讀寫進行優化,能夠放到內存執行的操作,盡量不要放到磁盤,同時對磁盤存儲方式進行合理規劃,選擇適合自己的RAID存取方式,最后,在系統級別上,可以選擇適合自身應用的文件系統,必要時使用裸設備提高讀寫性能。

4 網絡性能評估

網絡性能的好壞直接影響應用程序對外提供服務的穩定性和可靠性,監控網絡性能,可以從以下幾個方面進行管理和優化。

4.1 通過ping命令檢測網絡的連通性

如果發現網絡反應 緩慢,或者連接中斷,可以通過ping來測試網絡的連通情況,請看下面的一個輸出:

  1. [root@webserver ~]# ping 10.10.1.254 
  2. PING 10.10.1.254 (10.10.1.254) 56(84) bytes of data. 
  3. 64 bytes from 10.10.1.254: icmp_seq=0 ttl=64 time=0.235 ms 
  4. 64 bytes from 10.10.1.254: icmp_seq=1 ttl=64 time=0.164 ms 
  5. 64 bytes from 10.10.1.254: icmp_seq=2 ttl=64 time=0.210 ms 
  6. 64 bytes from 10.10.1.254: icmp_seq=3 ttl=64 time=0.178 ms 
  7. 64 bytes from 10.10.1.254: icmp_seq=4 ttl=64 time=0.525 ms 
  8. 64 bytes from 10.10.1.254: icmp_seq=5 ttl=64 time=0.571 ms 
  9. 64 bytes from 10.10.1.254: icmp_seq=6 ttl=64 time=0.220 ms 
  10. — 10.10.1.254 ping statistics — 
  11. 7 packets transmitted, 7 received, 0% packet loss, time 6000ms 
  12. rtt min/avg/max/mdev = 0.164/0.300/0.571/0.159 ms, pipe 2 

在這個輸出中,time值顯示了兩臺主機之間的網絡延時情況,如果此值很大,則表示網絡的延時很大,單位為毫秒。在這個輸出的最后,是對上面輸出信息的一個總結,packet loss表示網絡的丟包率,此值越小,表示網絡的質量越高。

4.2 通過netstat –i組合檢測網絡接口狀況

netstat命令提供了網絡接口的詳細信息,請看下面的輸出:

  1. [root@webserver ~]# netstat -i 
  2. Kernel Interface table 
  3. Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg 
  4. eth0 1500 0 1313129253 0 0 0 1320686497 0 0 0 BMRU 
  5. eth1 1500 0 494902025 0 0 0 292358810 0 0 0 BMRU 
  6. lo 16436 0 41901601 0 0 0 41901601 0 0 0 LRU 

對上面每項的輸出解釋如下:

  1.  Iface表示網絡設備的接口名稱。 
  2.  MTU表示最大傳輸單元,單位字節。 
  3.  RX-OK/TX-OK表示已經準確無誤的接收/發送了多少數據包。 
  4.  RX-ERR/TX-ERR表示接收/發送數據包時產生了多少錯誤。 
  5.  RX-DRP/TX-DRP表示接收/發送數據包時丟棄了多少數據包。 
  6.  RX-OVR/TX-OVR表示由于誤差而遺失了多少數據包。 
  7.  Flg表示接口標記,其中: 
  8.  L:表示該接口是個回環設備。 
  9.  B:表示設置了廣播地址。 
  10.  M:表示接收所有數據包。 
  11.  R:表示接口正在運行。 
  12.  U:表示接口處于活動狀態。 
  13.  O:表示在該接口上禁用arp。 
  14.  P:表示一個點到點的連接。 

正常情況下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都應該為0,如果這幾個選項的值不為0,并且很大,那么網絡質量肯定有問題,網絡傳輸性能也一定會下降。

當網絡傳輸存在問題是,可以檢測網卡設備是否存在故障,如果可能,可以升級為千兆網卡或者光纖網絡,還可以檢查網絡部署環境是否合理。

4.3 通過netstat –r組合檢測系統的路由表信息

在網絡不通,或者網絡異常時,首先想到的就是檢查系統的路由表信息,“netstat –r”的輸出結果與route命令的輸出完全相同,請看下面的一個實例:

  1. [root@webserver ~]# netstat -r 
  2. Kernel IP routing table 
  3. Destination Gateway Genmask Flags MSS Window irtt Iface 
  4. 10.10.1.0 * 255.255.255.0 U 0 0 0 eth0 
  5. 192.168.200.0 * 255.255.255.0 U 0 0 0 eth1 
  6. 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 
  7. default 10.10.1.254 0.0.0.0 UG 0 0 0 eth0 

關于輸出中每項的具體含義,已經在前面章節進行過詳細介紹,這里不再多講,這里我們重點關注的是default行對應的值,default項表示系統的默認路由,對應的網絡接口為eth0。

4.4 通過sar –n組合顯示系統的網絡運行狀態

sar提供四種不同的選項來顯示網絡統計信息,通過“-n”選項可以指定4個不同類型的開關:DEV、EDEV、SOCK和FULL。DEV顯示網絡接口信息,EDEV顯示關于網絡錯誤的統計數據,SOCK顯示套接字信息,FULL顯示所有三個開關。請看下面的一個輸出:

  1. [root@webserver ~]# sar -n DEV 2 3 
  2. Linux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU) 
  3.     02:22:31 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
  4. 02:22:33 PM lo 31.34 31.34 37.53 37.53 0.00 0.00 0.00 
  5. 02:22:33 PM eth0 199.50 279.60 17.29 344.12 0.00 0.00 0.00 
  6. 02:22:33 PM eth1 5.47 4.98 7.03 0.36 0.00 0.00 0.00 
  7. 02:22:33 PM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
  8.     02:22:33 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
  9. 02:22:35 PM lo 67.66 67.66 74.34 74.34 0.00 0.00 0.00 
  10. 02:22:35 PM eth0 159.70 222.39 19.74 217.16 0.00 0.00 0.00 
  11. 02:22:35 PM eth1 3.48 4.48 0.44 0.51 0.00 0.00 0.00 
  12. 02:22:35 PM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
  13.     02:22:35 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
  14. 02:22:37 PM lo 4.52 4.52 9.25 9.25 0.00 0.00 0.00 
  15. 02:22:37 PM eth0 102.51 133.67 20.67 116.14 0.00 0.00 0.00 
  16. 02:22:37 PM eth1 27.14 67.34 2.42 89.26 0.00 0.00 0.00 
  17. 02:22:37 PM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
  18.     Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
  19. Average: lo 34.61 34.61 40.48 40.48 0.00 0.00 0.00 
  20. Average: eth0 154.08 212.15 19.23 226.17 0.00 0.00 0.00 
  21. Average: eth1 11.98 25.46 3.30 29.85 0.00 0.00 0.00 
  22. Average: sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 

對上面每項的輸出解釋如下:

  • IFACE表示網絡接口設備。
  • rxpck/s表示每秒鐘接收的數據包大小。
  • txpck/s表示每秒鐘發送的數據包大小。
  • rxkB/s表示每秒鐘接收的字節數。
  • txkB/s表示每秒鐘發送的字節數。
  • rxcmp/s表示每秒鐘接收的壓縮數據包。
  • txcmp/s表示每秒鐘發送的壓縮數據包。
  • rxmcst/s表示每秒鐘接收的多播數據包。

通過“sar –n”的輸出,可以清楚的顯示網絡接口發送、接收數據的統計信息。此外還可以通過“sar -n EDEV 2 3”來統計網絡錯誤信息等。

4.5 小結

本節通過幾個常用的網絡命令介紹了對網絡性能的評估,事實上,網絡問題是簡單而且容易處理的,只要我們根據上面給出的命令,一般都能迅速定位問題。解決問題的方法一般是增加網絡帶寬,或者優化網絡部署環境。

除了上面介紹的幾個命令外,排查網絡問題經常用到的命令還有traceroute,主要用于跟蹤數據包的傳輸路徑,還有nslookup命令,主要用于判斷DNS解析信息。

責任編輯:華軒 來源: 今日頭條
相關推薦

2012-02-07 10:25:50

2018-11-29 09:00:58

故障定位運維

2019-09-19 14:44:18

LinuxWindows操作系統

2019-02-15 08:51:22

2014-04-23 16:43:05

Linux服務器性能分析

2009-02-10 15:46:00

VNCLinux服務器遠程桌面

2018-10-22 12:26:04

2017-11-15 09:49:03

運維服務器端系統

2011-10-14 18:38:51

Linux運維趨勢優化電子雜志

2018-07-18 10:43:06

運維Linux服務器

2021-08-18 12:24:22

Linux服務器命令

2018-08-29 09:23:30

2012-12-27 10:17:21

云服務器

2013-01-04 13:28:23

云服務器SaaSPaaS

2023-10-25 06:54:40

MySQL數據庫

2012-10-10 09:46:58

云計算服務器運維服務器

2018-05-10 08:18:12

無服務器運維服務器

2018-11-26 08:12:54

2011-09-16 17:53:33

2022-05-05 09:27:31

Linux服務器優化
點贊
收藏

51CTO技術棧公眾號

久久综合色8888| 欧美天堂影院| 亚洲女同一区二区| 国产精品久久亚洲| 91蜜桃视频在线观看| 久久亚洲道色| 欧美日韩你懂的| 男人天堂新网址| 无码国产精品96久久久久| 久久九九免费| 日韩一区二区久久久| wwwxxx色| 亚洲高清黄色| 亚洲黄网站在线观看| 免费看成人午夜电影| 一级黄色片在线看| 亚洲综合国产激情另类一区| 波霸ol色综合久久| 成年人在线观看av| 一区中文字幕| 欧美日本视频在线| 国内外免费激情视频| 色呦呦呦在线观看| 久久久精品tv| 波多野结衣一区二区三区在线观看| 丰满少妇xoxoxo视频| 欧美日韩1区2区3区| 在线色欧美三级视频| 天堂www中文在线资源| 日韩精品第二页| 色婷婷综合久久久| 免费一级特黄毛片| 2024最新电影免费在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 久久国产精品 国产精品| 99久久婷婷国产一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 波多野结衣成人在线| 一级片中文字幕| 欧美~级网站不卡| 最好看的2019的中文字幕视频| 人妻大战黑人白浆狂泄| 加勒比色综合久久久久久久久| 在线综合视频播放| 一区二区在线免费看| 日韩高清在线| 欧美专区亚洲专区| av无码精品一区二区三区| 亚洲私拍视频| 精品久久久久久国产91| 欧美不卡在线播放| 国产一二在线播放| 精品久久久久久国产| 日韩av综合在线观看| аⅴ资源天堂资源库在线| 亚洲电影激情视频网站| 欧美视频在线观看视频| 国产嫩草在线视频| 亚洲图片自拍偷拍| 热99这里只有精品| 在线天堂资源| 日本韩国欧美三级| 亚洲欧洲日本精品| 亚洲成人1区| 欧美一区二区久久久| 日本少妇一区二区三区| 91精品入口| 亚洲第一综合天堂另类专| 欧美夫妇交换xxx| 外国成人在线视频| 国产亚洲精品综合一区91| 国产一级久久久久毛片精品| 欧美日韩国产免费观看视频| 丝袜一区二区三区| 黄视频网站免费看| 亚洲手机视频| 91精品国产91久久久久福利| 影音先锋亚洲天堂| 麻豆91精品| 91精品久久久久久久久久久久久| 国产精品主播一区二区| 久久精品国产亚洲aⅴ| 亚洲综合精品一区二区| 免费av一级片| 久久精品视频一区二区| 亚洲综合视频一区| 岛国毛片av在线| 色先锋资源久久综合| 日日干夜夜操s8| 爱高潮www亚洲精品| 亚洲男人av电影| fc2ppv在线播放| 亚洲美女色禁图| 国产精品亚洲一区二区三区| 性生活黄色大片| 91视频.com| 成人在线免费观看网址| 日本在线啊啊| 欧美一区二区精品久久911| jizz欧美性20| 自拍偷拍欧美| 国产精品91一区| 亚洲精选一区二区三区| 国产三级精品三级在线专区| 日韩精品第1页| 咪咪网在线视频| 欧美一区二区三区免费| www.色天使| 国产精品激情电影| 日韩av成人在线| www五月婷婷| 国产精品传媒在线| 久久久久人妻精品一区三寸| 欧美久久一区二区三区| 亚洲午夜久久久久久久| 久久9999久久免费精品国产| 美腿丝袜在线亚洲一区| 精品日本一区二区三区| 在线电影福利片| 欧美日韩一区二区三区高清| 熟女人妻在线视频| 欧美在线精品一区| 国产精品一区二区久久久久| 无码精品人妻一区二区三区影院| 亚洲三级小视频| 丰满少妇在线观看| 妖精一区二区三区精品视频| 欧美激情在线观看视频| 国产免费高清视频| 国产精品久久三| 欧美日韩怡红院| 香蕉久久精品| 51ⅴ精品国产91久久久久久| 亚洲免费成人在线| 亚洲精品视频免费看| 国产精品天天av精麻传媒| 视频小说一区二区| 81精品国产乱码久久久久久| 成人毛片视频免费看| 亚洲精品美腿丝袜| 五月天婷婷在线观看视频| 欧美成人精品一区二区三区在线看| 青草成人免费视频| 你懂的免费在线观看| 精品久久久久人成| 国产福利短视频| 国产亚洲在线观看| 久久香蕉综合色| av综合电影网站| 亚洲片国产一区一级在线观看| 在线观看日韩中文字幕| 91麻豆国产自产在线观看| 欧美日韩亚洲一| 色爱综合av| 日韩69视频在线观看| 草碰在线视频| 欧美精品久久久久久久多人混战 | 欧美在线视频一区| 四虎国产精品永远| 在线视频综合导航| 中文字幕91视频| 国产老女人精品毛片久久| 成人av在线播放观看| 东京久久高清| 日本一区二区三区在线播放 | 国产精品久久二区二区| 久久久久久综合网| 狠狠噜噜久久| 久久久av水蜜桃| 国产综合av| 久久精品国产一区二区电影| 亚洲av综合色区无码一区爱av | 国产欧美日韩三级| 中文字幕线观看| 在线欧美视频| 日韩免费一区二区三区| 台湾天天综合人成在线| 久久99精品视频一区97 | 中文字幕v亚洲ⅴv天堂| 91欧美日韩麻豆精品| 亚洲自拍偷拍av| 国产精品无码久久久久久| 精品一区二区成人精品| 男人c女人视频| 狠狠做深爱婷婷综合一区| 91免费看国产| 三妻四妾的电影电视剧在线观看 | 久99久在线| 精品69视频一区二区三区| 欧美韩国理论所午夜片917电影| 日批视频在线播放| 欧美日韩一级黄| 亚洲国产精品成人无久久精品| 久久精品水蜜桃av综合天堂| 爱情岛论坛亚洲自拍| 麻豆精品网站| 岛国大片在线播放| 手机亚洲手机国产手机日韩| 国产精品久久久久久免费观看| 成人黄色毛片| 97在线免费视频| yellow91字幕网在线| 亚洲人精选亚洲人成在线| av综合在线观看| 91福利区一区二区三区| 久久精品视频9| 中文字幕在线播放不卡一区| 亚洲av无码一区二区三区观看| 久久99久久99小草精品免视看| 国产白丝袜美女久久久久| 久久久久国产精品| 日韩欧美一区二区视频在线播放| 91亚洲无吗| 国产综合久久久久| 亚洲电影有码| 欧美有码在线观看| 国产精品一区hongkong| 久久视频免费观看| 91看片在线观看| 亚洲欧美综合精品久久成人| 欧美 日韩 国产 成人 在线 | 人妻一区二区三区四区| 777xxx欧美| 中文字幕激情视频| 色拍拍在线精品视频8848| 精品视频一区二区在线观看| 日韩一区在线播放| 天堂av网手机版| 国产色一区二区| 少妇无套高潮一二三区| 久久亚洲一区二区三区明星换脸 | 希岛爱理av免费一区二区| 国产成人免费观看| 日韩一区二区三区精品| 91视频九色网站| 日本国产亚洲| 国产美女精彩久久| 久久人体av| 国产精品专区第二| 国产精品.xx视频.xxtv| 国产精品免费看久久久香蕉| 免费观看成人性生生活片 | 亚洲第一网站在线观看| 欧美日韩性视频在线| 日韩三级免费看| 五月天欧美精品| av大片免费观看| 欧美性黄网官网| 亚洲大尺度在线观看| 欧美在线观看禁18| 一级黄色录像大片| 制服.丝袜.亚洲.另类.中文| 国产精品久久久久久免费| 欧美福利视频一区| www.爱爱.com| 精品国产一区二区三区不卡 | 久久精品99北条麻妃| 欧洲国内综合视频| 一级aaaa毛片| 91精品国产麻豆国产自产在线| 99riav国产| 精品国产欧美一区二区| 亚洲av成人无码网天堂 | 黄色视屏免费在线观看| 精品自拍视频在线观看| h片在线观看| 欧亚精品中文字幕| 久久人体av| 成人欧美一区二区三区在线观看 | 国产性猛交xxxx免费看久久| 成人欧美一区| 久久在线视频在线| 国产在线天堂www网在线观看| 欧美夫妻性视频| 男人最爱成人网| 91精品在线看| 欧美三级电影在线| 亚洲午夜激情| 亚洲一级高清| 能在线观看的av网站| 久久99久久久久久久久久久| 一级黄色免费视频| 久久久99精品免费观看| 一区二区视频免费看| 疯狂欧美牲乱大交777| 亚洲系列第一页| 亚洲精品在线观看网站| 草草影院在线观看| 国内精品免费午夜毛片| 香蕉成人影院| 国产66精品久久久久999小说 | 一区二区三区的久久的视频| 欧美视频官网| 亚洲欧美日韩一级| 波波电影院一区二区三区| 大胸美女被爆操| 亚洲国产精品一区二区www| 中文字幕人成人乱码亚洲电影| 日韩欧美卡一卡二| 福利视频在线播放| 久久久噜久噜久久综合| 日本国产欧美| 国产一区二区久久久| 国产精品久久久久久久| 人妻精品无码一区二区三区| 国产精品99久久久久久有的能看| 人妻精品久久久久中文字幕| 亚洲黄色免费网站| 亚洲一区二区色| 亚洲精品综合久久中文字幕| 香蕉久久aⅴ一区二区三区| 国产精品亚洲激情| 欧美人与拘性视交免费看| 欧美国产综合在线| 韩国三级中文字幕hd久久精品| 毛茸茸多毛bbb毛多视频| 亚洲综合色网站| 一区二区三区免费观看视频| 亚洲天堂一区二区三区| 国产夫妻在线| 国产精品美女xx| 女主播福利一区| 国产毛片久久久久久| 中文字幕精品在线不卡| 中文字幕在线看人| 日韩国产高清视频在线| 韩国日本一区| 翡翠波斯猫1977年美国| 午夜精品剧场| 无码人妻一区二区三区在线视频| 国产精品三级电影| 在线视频精品免费| 国产午夜精品美女视频明星a级| 无遮挡爽大片在线观看视频| 国产乱码精品一区二区三区日韩精品 | 成人手机视频在线| 麻豆91在线看| 色婷婷粉嫩av| 欧美区一区二区三区| 调教视频免费在线观看| 国产精品美女免费看| 欧美日韩精品在线一区| www.色就是色| 欧美国产成人在线| 亚洲视频在线观看免费视频| 一区二区三区无码高清视频| 欧美色片在线观看| 亚洲一区二区三区乱码| 极品尤物av久久免费看| 国产又粗又硬又长又爽| 91精品国产91久久久久久最新毛片| 国产在线观看免费麻豆| 91精品国产综合久久久久久丝袜| 综合日韩在线| 男女性杂交内射妇女bbwxz| 午夜影视日本亚洲欧洲精品| 婷婷亚洲一区二区三区| 国产成人精品一区| 欧美激情电影| 永久免费看片在线观看| 亚洲福利视频一区| 香蕉视频黄在线观看| 国产精品av在线| 91综合久久| 韩国三级在线看| 色综合中文字幕国产| www黄在线观看| 91九色偷拍| 国产欧美一区二区色老头| 日韩中文字幕有码| 91精品国模一区二区三区| av伦理在线| 日韩精品资源| 国产福利91精品一区| 在线能看的av| 日韩视频在线免费观看| 99精品国产一区二区三区2021| 国产91美女视频| 亚洲视频一区在线| 日韩在线视频免费| 国产精品免费在线免费 | 天堂av手机版| 国产精品video| 欧美特黄一区| 亚洲色成人网站www永久四虎 | 色婷婷综合视频| 国产精品久久久久久久久久ktv| 91精品婷婷色在线观看| 朝桐光av一区二区三区| 欧美日韩一区二区在线观看| www在线看| 一区二区av| 97精品国产97久久久久久久久久久久 | 日韩一级av毛片| 精品区一区二区| 国产精品久久久久久久久免费高清 | 国产黄在线播放| 粉嫩av四季av绯色av第一区| 奇米影视7777精品一区二区| 国产精品第九页|