Linux服務(wù)器性能評(píng)估與優(yōu)化_第1頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化_第2頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化_第3頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化_第4頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選文檔一、影響Linux服務(wù)器性能的因素 1. 操作系統(tǒng)級(jí) CPU 內(nèi)存 磁盤(pán)I/O帶寬 網(wǎng)絡(luò)I/O帶寬2. 程序應(yīng)用級(jí) 二、系統(tǒng)性能評(píng)估標(biāo)準(zhǔn)影響性能因素評(píng)判標(biāo)準(zhǔn)好壞糟糕CPUuser% + sys%=90%內(nèi)存Swap In(si)0Swap Out(so)0Per CPU with 10 page/sMore Swap In & Swap Out磁盤(pán)iowait % = 50% 其中: %user:表示CPU處在用戶(hù)模式下的時(shí)間百分比。 %sys:表示CPU處在系統(tǒng)模式下的時(shí)間百分比。 %iowait:表示CPU等待輸入輸出完成時(shí)間的百分比。 swap in:即si,表示虛擬內(nèi)存的頁(yè)導(dǎo)入

2、,即從SWAP DISK交換到RAM swap out:即so,表示虛擬內(nèi)存的頁(yè)導(dǎo)出,即從RAM交換到SWAP DISK。 三、系統(tǒng)性能分析工具 1.常用系統(tǒng)命令 Vmstat、sar、iostat、netstat、free、ps、top等 2.常用組合方式 用vmstat、sar、iostat檢測(cè)是否是CPU瓶頸 用free、vmstat檢測(cè)是否是內(nèi)存瓶頸 用iostat檢測(cè)是否是磁盤(pán)I/O瓶頸 用netstat檢測(cè)是否是網(wǎng)絡(luò)帶寬瓶頸 四、Linux性能評(píng)估與優(yōu)化 1. 系統(tǒng)整體性能評(píng)估(uptime命令) rootweb1 # uptime16:38:00 up 118 days, 3:0

3、1, 5 users, load average: 1.22, 1.02, 0.91這里需要留意的是:load average這個(gè)輸出值,這三個(gè)值的大小一般不能大于系統(tǒng)CPU的個(gè)數(shù),例如,本輸出中系統(tǒng)有8個(gè)CPU,假如load average的三個(gè)值長(zhǎng)期大于8時(shí),說(shuō)明CPU很繁忙,負(fù)載很高,可能會(huì)影響系統(tǒng)性能,但是間或大于8時(shí),倒不用擔(dān)憂(yōu),一般不會(huì)影響系統(tǒng)性能。相反,假如load average的輸出值小于CPU的個(gè)數(shù),則表示CPU還有空閑的時(shí)間片,比如本例中的輸出,CPU是格外空閑的。2. CPU性能評(píng)估 (1)利用vmstat命令監(jiān)控系統(tǒng)CPU 該命令可以顯示關(guān)于系統(tǒng)各種資源之間相關(guān)性能的

4、簡(jiǎn)要信息,這里我們主要用它來(lái)看CPU一個(gè)負(fù)載狀況。 下面是vmstat命令在某個(gè)系統(tǒng)的輸出結(jié)果: rootnode1 # vmstat 2 3procs -memory- -swap- -io- -system- -cpu- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0 0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0 0 0 0 162240 8304 67032

5、0 0 1 1 1009 18 0 1 99 0 0l Procs r列表示運(yùn)行和等待cpu時(shí)間片的進(jìn)程數(shù),這個(gè)值假如長(zhǎng)期大于系統(tǒng)CPU的個(gè)數(shù),說(shuō)明CPU不足,需要增加CPU。 b列表示在等待資源的進(jìn)程數(shù),比如正在等待I/O、或者內(nèi)存交換等。l Cpu us列顯示了用戶(hù)進(jìn)程消耗的CPU 時(shí)間百分比。us的值比較高時(shí),說(shuō)明用戶(hù)進(jìn)程消耗的cpu時(shí)間多,但是假如長(zhǎng)期大于50%,就需要考慮優(yōu)化程序或算法。 sy列顯示了內(nèi)核進(jìn)程消耗的CPU時(shí)間百分比。Sy的值較高時(shí),說(shuō)明內(nèi)核消耗的CPU資源很多。 依據(jù)閱歷,us+sy的參考值為80%,假如us+sy大于 80%說(shuō)明可能存在CPU資源不足。 (2)利用s

6、ar命令監(jiān)控系統(tǒng)CPU sar功能很強(qiáng)大,可以對(duì)系統(tǒng)的每個(gè)方面進(jìn)行單獨(dú)的統(tǒng)計(jì),但是使用sar命令會(huì)增加系統(tǒng)開(kāi)銷(xiāo),不過(guò)這些開(kāi)銷(xiāo)是可以評(píng)估的,對(duì)系統(tǒng)的統(tǒng)計(jì)結(jié)果不會(huì)有很大影響。 下面是sar命令對(duì)某個(gè)系統(tǒng)的CPU統(tǒng)計(jì)輸出:rootwebserver # sar -u 3 5Linux 2.6.9-42.ELsmp (webserver) 11/28/2008 _i686_ (8 CPU)11:41:24 AM CPU %user %nice %system %iowait %steal %idle11:41:27 AM all 0.88 0.00 0.29 0.00 0.00 98.8311:41:

7、30 AM all 0.13 0.00 0.17 0.21 0.00 99.5011:41:33 AM all 0.04 0.00 0.04 0.00 0.00 99.9211:41:36 AM all 90.08 0.00 0.13 0.16 0.00 9.6311:41:39 AM all 0.38 0.00 0.17 0.04 0.00 99.41Average: all 0.34 0.00 0.16 0.05 0.00 99.45對(duì)上面每項(xiàng)的輸出解釋如下:l %user列顯示了用戶(hù)進(jìn)程消耗的CPU 時(shí)間百分比。l %nice列顯示了運(yùn)行正常進(jìn)程所消耗的CPU 時(shí)間百分比。l %syst

8、em列顯示了系統(tǒng)進(jìn)程消耗的CPU時(shí)間百分比。l %iowait列顯示了IO等待所占用的CPU時(shí)間百分比l %steal列顯示了在內(nèi)存相對(duì)緊急的環(huán)境下pagein強(qiáng)制對(duì)不同的頁(yè)面進(jìn)行的steal操作 。l %idle列顯示了CPU處在空閑狀態(tài)的時(shí)間百分比。問(wèn)題1.你是否遇到過(guò)系統(tǒng)CPU整體利用率不高,而應(yīng)用緩慢的現(xiàn)象? 在一個(gè)多CPU的系統(tǒng)中,假如程序使用了單線程,會(huì)消滅這么一個(gè)現(xiàn)象,CPU的整體使用率不高,但是系統(tǒng)應(yīng)用卻響應(yīng)緩慢,這可能是由于程序使用單線程的緣由,單線程只使用一個(gè)CPU,導(dǎo)致這個(gè)CPU占用率為100%,無(wú)法處理其它懇求,而其它的CPU卻閑置,這就導(dǎo)致了整體CPU使用率不高,而應(yīng)

9、用緩慢現(xiàn)象的發(fā)生。 3. 內(nèi)存性能評(píng)估(1)利用free指令監(jiān)控內(nèi)存free是監(jiān)控linux內(nèi)存使用狀況最常用的指令,看下面的一個(gè)輸出:rootwebserver # free -m total used free shared buffers cachedMem: 8111 7185 926 0 243 6299-/+ buffers/cache: 643 7468Swap: 8189 0 8189 一般有這樣一個(gè)閱歷公式:應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存70%時(shí),表示系統(tǒng)內(nèi)存資源格外充分,不影響系統(tǒng)性能,應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存20%時(shí),表示系統(tǒng)內(nèi)存資源緊缺,需要增加系統(tǒng)內(nèi)存,20%應(yīng)

10、用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存70%時(shí),表示系統(tǒng)內(nèi)存資源基本能滿(mǎn)足應(yīng)用需求,臨時(shí)不影響系統(tǒng)性能。(2)利用vmstat命令監(jiān)控內(nèi)存 rootnode1 # vmstat 2 3procs -memory- -swap- -io- -system- -cpu- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0 0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0 0 0 0 16

11、2240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0l memory swpd列表示切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(以k為單位)。假如swpd的值不為0,或者比較大,只要si、so的值長(zhǎng)期為0,這種狀況下一般不用擔(dān)憂(yōu),不會(huì)影響系統(tǒng)性能。 free列表示當(dāng)前空閑的物理內(nèi)存數(shù)量(以k為單位) buff列表示buffers cache的內(nèi)存數(shù)量,一般對(duì)塊設(shè)備的讀寫(xiě)才需要緩沖。 cache列表示page cached的內(nèi)存數(shù)量,一般作為文件系統(tǒng)cached,頻繁訪問(wèn)的文件都會(huì)被cached,假如cache值較大,說(shuō)明cached的文件數(shù)較多,假如此時(shí)IO中bi比較小,說(shuō)明文

12、件系統(tǒng)效率比較好。l swapsi列表示由磁盤(pán)調(diào)入內(nèi)存,也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的數(shù)量。so列表示由內(nèi)存調(diào)入磁盤(pán),也就是內(nèi)存交換區(qū)進(jìn)入內(nèi)存的數(shù)量。一般狀況下,si、so的值都為0,假如si、so的值長(zhǎng)期不為0,則表示系統(tǒng)內(nèi)存不足。需要增加系統(tǒng)內(nèi)存。 4.磁盤(pán)I/O性能評(píng)估 (1)磁盤(pán)存儲(chǔ)基礎(chǔ)l 生疏RAID存儲(chǔ)方式,可以依據(jù)應(yīng)用的不同,選擇不同的RAID方式。l 盡可能用內(nèi)存的讀寫(xiě)代替直接磁盤(pán)I/O,使頻繁訪問(wèn)的文件或數(shù)據(jù)放入內(nèi)存中進(jìn)行操作處理,由于內(nèi)存讀寫(xiě)操作比直接磁盤(pán)讀寫(xiě)的效率要高千倍。l 將經(jīng)常進(jìn)行讀寫(xiě)的文件與長(zhǎng)期不變的文件獨(dú)立出來(lái),分別放置到不同的磁盤(pán)設(shè)備上。l 對(duì)于寫(xiě)操作頻繁的數(shù)據(jù),

13、可以考慮使用裸設(shè)備代替文件系統(tǒng)。 使用裸設(shè)備的優(yōu)點(diǎn)有: 數(shù)據(jù)可以直接讀寫(xiě),不需要經(jīng)過(guò)操作系統(tǒng)級(jí)的緩存,節(jié)省了內(nèi)存資源,避開(kāi)了內(nèi)存資源爭(zhēng)用。 避開(kāi)了文件系統(tǒng)級(jí)的維護(hù)開(kāi)銷(xiāo),比如文件系統(tǒng)需要維護(hù)超級(jí)塊、I-node等。 避開(kāi)了操作系統(tǒng)的cache預(yù)讀功能,削減了I/O懇求。 使用裸設(shè)備的缺點(diǎn)是: 數(shù)據(jù)管理、空間管理不機(jī)敏,需要很專(zhuān)業(yè)的人來(lái)操作。 (2)利用iostat評(píng)估磁盤(pán)性能rootwebserver # iostat -d 2 3Linux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU) Device: tps Blk_read/s B

14、lk_wrtn/s Blk_read Blk_wrtnsda 1.87 2.58 114.12 6479462 286537372 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 0.00 0.00 0.00 0 0 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 1.00 0.00 12.00 0 24對(duì)上面每項(xiàng)的輸出解釋如下:Blk_read/s表示每秒讀取的數(shù)據(jù)塊數(shù)。Blk_wrtn/s表示每秒寫(xiě)入的數(shù)據(jù)塊數(shù)。Blk_read表示讀取的全部塊數(shù)。Blk_wrtn表示

15、寫(xiě)入的全部塊數(shù)。 可以通過(guò)Blk_read/s和Blk_wrtn/s的值對(duì)磁盤(pán)的讀寫(xiě)性能有一個(gè)基本的了解,假如Blk_wrtn/s值很大,表示磁盤(pán)的寫(xiě)操作很頻繁,可以考慮優(yōu)化磁盤(pán)或者優(yōu)化程序,假如Blk_read/s值很大,表示磁盤(pán)直接讀取操作很多,可以將讀取的數(shù)據(jù)放入內(nèi)存中進(jìn)行操作。 對(duì)于這兩個(gè)選項(xiàng)的值沒(méi)有一個(gè)固定的大小,依據(jù)系統(tǒng)應(yīng)用的不同,會(huì)有不同的值,但是有一個(gè)規(guī)章還是可以遵循的:長(zhǎng)期的、超大的數(shù)據(jù)讀寫(xiě),確定是不正常的,這種狀況肯定會(huì)影響系統(tǒng)性能。 (3)利用sar評(píng)估磁盤(pán)性能 通過(guò)“sar d”組合,可以對(duì)系統(tǒng)的磁盤(pán)IO做一個(gè)基本的統(tǒng)計(jì),請(qǐng)看下面的一個(gè)輸出:rootwebserver

16、# sar -d 2 3Linux 2.6.9-42.ELsmp (webserver) 11/30/2008 _i686_ (8 CPU) 11:09:33 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util11:09:35 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:09:35 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util11:09:37 PM dev8-0 1.00

17、0.00 12.00 12.00 0.00 0.00 0.00 0.00 11:09:37 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util11:09:39 PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05 Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %utilAverage: dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02 需要關(guān)注的幾個(gè)參數(shù)含義: await表示平均每次設(shè)備I/O操作的等待時(shí)間(以毫秒為單位)。 svctm表示平均每次設(shè)備I/O操作的服務(wù)時(shí)間(以毫秒為單位)。 %util表示一秒中有百分之幾的時(shí)間用于I/O操作。 對(duì)以磁盤(pán)IO性能,一般有如下評(píng)判標(biāo)準(zhǔn): 正常狀況下svctm應(yīng)當(dāng)是小于await值的,而svctm的大小和磁盤(pán)性能有關(guān),CPU、內(nèi)存的負(fù)荷也會(huì)對(duì)svctm值造成影響,過(guò)多的懇求也會(huì)間接的導(dǎo)致svctm值的增加。 await值的大小一般取決與svctm的值和I/O隊(duì)列長(zhǎng)度以及I/O懇求模式,假如svctm的值與await很接近,表示幾乎沒(méi)有I/O等待,磁盤(pán)性能很好,假如await的值遠(yuǎn)高

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論