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

下載本文檔

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

文檔簡介

1、1南非螞蟻南非螞蟻2009年年6月月21日日高俊峰,網(wǎng)名:南非螞蟻IXPUB “存儲設(shè)備與容災(zāi)技術(shù)”及“ Linux與開源世界”版主。喜歡oracle和 Unix/Linux技術(shù),平時主要活動在ITPUB.netIXPUB.netChinaU等大型技術(shù)社區(qū),一直致力與oracle數(shù)據(jù)庫Unix/Linux操作系統(tǒng)管理優(yōu)化領(lǐng)域,現(xiàn)在主要從事oracle數(shù)據(jù)庫管理和項目規(guī)劃設(shè)計工作,擅長oracle數(shù)據(jù)庫的備份恢復(fù),性能調(diào)優(yōu),對Unix/Linux集群應(yīng)用也有一定的研究。通過如下方式可以聯(lián)系到我:通過如下方式可以聯(lián)系到我:MSN:gaojf_QQ:397824870Email:2 影響影響Linu

2、x性能的因素性能的因素 系統(tǒng)性能評估標(biāo)準(zhǔn)系統(tǒng)性能評估標(biāo)準(zhǔn) 系統(tǒng)性能分析工具系統(tǒng)性能分析工具 性能評估與優(yōu)化過程性能評估與優(yōu)化過程 Oracle在在Linux下的性能優(yōu)化下的性能優(yōu)化 CPU 內(nèi)存內(nèi)存 磁盤磁盤I/O帶寬帶寬 網(wǎng)絡(luò)網(wǎng)絡(luò)I/O帶寬帶寬4操作系統(tǒng)級操作系統(tǒng)級程序應(yīng)用級程序應(yīng)用級55影響性能因素評判標(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磁盤iowait % = 50%其中:%user:表示CPU處在用戶模式下的時間百分比。%sys

3、:表示CPU處在系統(tǒng)模式下的時間百分比。%iowait:表示CPU等待輸入輸出完成時間的百分比。swap in:即si,表示虛擬內(nèi)存的頁導(dǎo)入,即從SWAP DISK交換到RAMswap out:即so,表示虛擬內(nèi)存的頁導(dǎo)出,即從RAM交換到SWAP DISK。Vmstat、sar、iostat、netstat、free、ps、top等常用系統(tǒng)命令常用系統(tǒng)命令常用組合方式常用組合方式 用vmstat、sar、iostat檢測是否是CPU瓶頸 用free、vmstat檢測是否是內(nèi)存瓶頸 用iostat檢測是否是磁盤I/O瓶頸 用netstat檢測是否是網(wǎng)絡(luò)帶寬瓶頸71:系統(tǒng)整體性能評估(:系統(tǒng)整體

4、性能評估(uptime命令)命令)rootweb1 # uptime16:38:00 up 118 days, 3:01, 5 users, load average: 1.22, 1.02, 0.91 這里需要注意的是:load average這個輸出值,這三個值的大小一般不能大于系統(tǒng)CPU的個數(shù),例如,本輸出中系統(tǒng)有8個CPU,如果load average的三個值長期大于8時,說明CPU很繁忙,負(fù)載很高,可能會影響系統(tǒng)性能,但是偶爾大于8時,倒不用擔(dān)心,一般不會影響系統(tǒng)性能。相反,如果load average的輸出值小于CPU的個數(shù),則表示CPU還有空閑的時間片,比如本例中的輸出,CPU是

5、非??臻e的。(1)利用vmstat命令監(jiān)控系統(tǒng)CPU 該命令可以顯示關(guān)于系統(tǒng)各種資源之間相關(guān)性能的簡要信息,這里我們主要用它來看CPU一個負(fù)載情況。 下面是vmstat命令在某個系統(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

6、 1 0 1010 20 0 1 100 0 0 0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0lProcsr列表示運行和等待cpu時間片的進(jìn)程數(shù),這個值如果長期大于系統(tǒng)CPU的個數(shù),說明CPU不足,需要增加CPU。b列表示在等待資源的進(jìn)程數(shù),比如正在等待I/O、或者內(nèi)存交換等。lCpuus列顯示了用戶進(jìn)程消耗的CPU 時間百分比。us的值比較高時,說明用戶進(jìn)程消耗的cpu時間多,但是如果長期大于50%,就需要考慮優(yōu)化程序或算法。sy列顯示了內(nèi)核進(jìn)程消耗的CPU時間百分比。Sy的值較高時,說明內(nèi)核消耗的CPU資源很多。 根據(jù)經(jīng)驗,us+sy

7、的參考值為80%,如果us+sy大于 80%說明可能存在CPU資源不足。(2) 利用利用sar命令監(jiān)控系統(tǒng)命令監(jiān)控系統(tǒng)CPU sar功能很強(qiáng)大,可以對系統(tǒng)的每個方面進(jìn)行單獨的統(tǒng)計,但是使用sar命令會增加系統(tǒng)開銷,不過這些開銷是可以評估的,對系統(tǒng)的統(tǒng)計結(jié)果不會有很大影響。 下面是sar命令對某個系統(tǒng)的CPU統(tǒng)計輸出: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 %idle1

8、1:41:27 AM all 0.88 0.00 0.29 0.00 0.00 98.8311:41: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.6390.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.

9、45對上面每項的輸出解釋如下:l%user列顯示了用戶進(jìn)程消耗的CPU 時間百分比。l%nice列顯示了運行正常進(jìn)程所消耗的CPU 時間百分比。l%system列顯示了系統(tǒng)進(jìn)程消耗的CPU時間百分比。l%iowait列顯示了IO等待所占用的CPU時間百分比l%steal列顯示了在內(nèi)存相對緊張的環(huán)境下pagein強(qiáng)制對不同的頁面進(jìn)行的steal操作 。l%idle列顯示了CPU處在空閑狀態(tài)的時間百分比。你是否遇到過系統(tǒng)你是否遇到過系統(tǒng)CPU整體利用率不高,而應(yīng)用緩慢的現(xiàn)象?整體利用率不高,而應(yīng)用緩慢的現(xiàn)象? 在一個多CPU的系統(tǒng)中,如果程序使用了單線程,會出現(xiàn)這么一個現(xiàn)象,CPU的整體使用率不高

10、,但是系統(tǒng)應(yīng)用卻響應(yīng)緩慢,這可能是由于程序使用單線程的原因,單線程只使用一個CPU,導(dǎo)致這個CPU占用率為100%,無法處理其它請求,而其它的CPU卻閑置,這就導(dǎo)致了整體CPU使用率不高,而應(yīng)用緩慢現(xiàn)象的發(fā)生。free是監(jiān)控linux內(nèi)存使用狀況最常用的指令,看下面的一個輸出:rootwebserver # free -m total used free shared buffers cachedMem: 8111 7185 926 0 243 6299-/+ buffers/cache: 643 7468Swap: 8189 0 8189 一般有這樣一個經(jīng)驗公式:應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)

11、存70%時,表示系統(tǒng)內(nèi)存資源非常充足,不影響系統(tǒng)性能,應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存20%時,表示系統(tǒng)內(nèi)存資源緊缺,需要增加系統(tǒng)內(nèi)存,20%應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存 show parameters target NAME TYPE VALUE- - - - archive_lag_target integer 0db_flashback_retention_target integer 1860fast_start_io_target integer 0fast_start_mttr_target integer 0memory_max_target big integer 1400Mm

12、emory_max_target big integer 1400Mmemory_target big integer 1400Mmemory_target big integer 1400Mpga_aggregate_target big integer 0sga_target big integer 0 注意:如果初始化參數(shù) LOCK_SGA true ,則 AMM 是不可用的。自動共享內(nèi)存管理是oracle10g引進(jìn)的,如果要使用自動共享內(nèi)存管理,只需設(shè)置MEMORY_TARGET=0,然后顯式指定SGA_TARGET即可。 示例如下:SQL alter system set memor

13、y_target=0 scope=both;System altered.SQL alter system set sga_target=1024m scope=both;System altered.SQL Oracle9i以及以前版本,只能手工設(shè)置共享內(nèi)存管理,如果要使用手動共享內(nèi)存管理,首先需要設(shè)置SGA_TARGET 與 MEMORY_TARGET為0。SGA包含主要參數(shù)有:share_pool_size:共享池大小,建議300-500M之間。Log_buffer:日志緩沖區(qū)大小,建議1-3M之間。Large_pool_size:大緩沖池大小,非MTS系統(tǒng),建議在20-30M之間。Java_pool_size:java池大小,沒有java應(yīng)用時,建議10-20M之間。db_cache_size:數(shù)據(jù)緩沖區(qū)大小,根據(jù)可使用內(nèi)存大小,盡可能大。Oracle9i版本引入了自動PGA管理,如果使用的是AMM管理方式,則無需擔(dān)心PGA的配置,但是如果對對AMM管理不放心的話,可以設(shè)置自動PGA管理,設(shè)置WORKAREA_SIZE_POLICY AUTO然后指定PGA_AGGREGATE_TARGET大小即可。,如果要做到精確的控制PGA,還可以設(shè)置手動管理PGA,設(shè)置WORKAREA_SIZE_POLICY = manual 然后分

溫馨提示

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

評論

0/150

提交評論