性能瓶頸分析方法(重要)_第1頁(yè)
性能瓶頸分析方法(重要)_第2頁(yè)
性能瓶頸分析方法(重要)_第3頁(yè)
性能瓶頸分析方法(重要)_第4頁(yè)
性能瓶頸分析方法(重要)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(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、性能瓶頸分析方法同一場(chǎng)景:1.小用戶(hù)量的情況下測(cè)試2.大用戶(hù)量情況下的測(cè)試分析的方法:整個(gè)系統(tǒng)架構(gòu)分析,系統(tǒng)響應(yīng)時(shí)間消耗,利用圖表分析查看事務(wù)響應(yīng)時(shí)間,通過(guò)事務(wù)摘要圖分析事務(wù)響應(yīng)時(shí)間,那個(gè)消耗最大(通過(guò)小用戶(hù)量和大用戶(hù)量的響應(yīng)時(shí)間分析,查看那個(gè)事務(wù)響應(yīng)時(shí)間最高),確定哪部分功能是性能的瓶頸,分析window resource圖表,查看cpu使用下列計(jì)數(shù)器標(biāo)識(shí)cpu瓶頸Processor Interrupts/secProcessor % Processor TimeProcess(process) % Processor TimeSystem Processor Queue Length通過(guò)它

2、來(lái)確定是否硬件本身出現(xiàn)瓶頸,或者進(jìn)一步確定應(yīng)該怎么去判斷性能產(chǎn)生瓶頸的地方!下一步去判斷進(jìn)程,那個(gè)進(jìn)程消耗cpu最高下邊就有很多種情況需要你自己去判斷,有可能是進(jìn)程調(diào)用了的函數(shù)消耗了系統(tǒng)資源形成上邊的問(wèn)題,也有可能是后臺(tái)數(shù)據(jù)庫(kù)出現(xiàn)的問(wèn)題(這個(gè)就要看你的系統(tǒng)配置是什么樣的,比如你的db服務(wù)器和應(yīng)用服務(wù)器都配置在一臺(tái)機(jī)器上)性能產(chǎn)生瓶頸有很多地方,所以需要進(jìn)一判斷,是否是后臺(tái)數(shù)據(jù)庫(kù)的問(wèn)題還有待分析,是那條語(yǔ)句導(dǎo)致的問(wèn)題需要進(jìn)一步分析判斷。分析原則: 具體問(wèn)題具體分析(這是由于不同的應(yīng)用系統(tǒng),不同的測(cè)試目的,不同的性能關(guān)注點(diǎn)) 查找瓶頸時(shí)按以下順序,由易到難。服務(wù)器硬件瓶頸-網(wǎng)絡(luò)瓶頸(對(duì)局域網(wǎng),可以

3、不考慮)-服務(wù)器操作系統(tǒng)瓶頸(參數(shù)配置)-中間件瓶頸(參數(shù)配置,數(shù)據(jù)庫(kù),web服務(wù)器等)-應(yīng)用瓶頸(SQL語(yǔ)句、數(shù)據(jù)庫(kù)設(shè)計(jì)、業(yè)務(wù)邏輯、算法等)注:以上過(guò)程并不是每個(gè)分析中都需要的,要根據(jù)測(cè)試目的和要求來(lái)確定分析的深度。對(duì)一些要求低的,我們分析到應(yīng)用系統(tǒng)在將來(lái)大的負(fù)載壓力(并發(fā)用戶(hù)數(shù)、數(shù)據(jù)量)下,系統(tǒng)的硬件瓶頸在哪兒就夠了。 分段排除法很有效分析的信息來(lái)源:1 根據(jù)場(chǎng)景運(yùn)行過(guò)程中的錯(cuò)誤提示信息2 根據(jù)測(cè)試結(jié)果收集到的監(jiān)控指標(biāo)數(shù)據(jù)一錯(cuò)誤提示分析分析實(shí)例:1 Error: Failed to connect to server “10.10.10.30:8080: 10060 ConnectionE

4、rror: timed out Error: Server “10.10.10.30 has shut down the connection prematurely分析:A、應(yīng)用服務(wù)死掉。(小用戶(hù)時(shí):程序上的問(wèn)題。程序上處理數(shù)據(jù)庫(kù)的問(wèn)題)B、應(yīng)用服務(wù)沒(méi)有死(應(yīng)用服務(wù)參數(shù)設(shè)置問(wèn)題)例:在許多客戶(hù)端連接Weblogic應(yīng)用服務(wù)器被拒絕,而在服務(wù)器端沒(méi)有錯(cuò)誤顯示,則有可能是Weblogic中的server元素的 AcceptBacklog屬性值設(shè)得過(guò)低。如果連接時(shí)收到connection refused消息,說(shuō)明應(yīng)提高該值,每次增加25C、數(shù)據(jù)庫(kù)的連接(1、在應(yīng)用服務(wù)的性能參數(shù)可能太小了 2、數(shù)據(jù)

5、庫(kù)啟動(dòng)的最大連接數(shù)(跟硬件的內(nèi)存有關(guān)))2Error: Page download timeout (120 seconds) has expired分析:可能是以下原因造成A、應(yīng)用服務(wù)參數(shù)設(shè)置太大導(dǎo)致服務(wù)器的瓶頸B、頁(yè)面中圖片太多C、在程序處理表的時(shí)候檢查字段太大多二監(jiān)控指標(biāo)數(shù)據(jù)分析1最大并發(fā)用戶(hù)數(shù):應(yīng)用系統(tǒng)在當(dāng)前環(huán)境(硬件環(huán)境、網(wǎng)絡(luò)環(huán)境、軟件環(huán)境(參數(shù)配置)下能承受的最大并發(fā)用戶(hù)數(shù)。在方案運(yùn)行中,如果出現(xiàn)了大于3個(gè)用戶(hù)的業(yè)務(wù)操作失敗,或出現(xiàn)了服務(wù)器shutdown的情況,則說(shuō)明在當(dāng)前環(huán)境下,系統(tǒng)承受不了當(dāng)前并發(fā)用戶(hù)的負(fù)載壓力,那么最大并發(fā)用戶(hù)數(shù)就是前一個(gè)沒(méi)有出現(xiàn)這種現(xiàn)象的并發(fā)用戶(hù)數(shù)。如果測(cè)

6、得的最大并發(fā)用戶(hù)數(shù)到達(dá)了性能要求,且各服務(wù)器資源情況良好,業(yè)務(wù)操作響應(yīng)時(shí)間也達(dá)到了用戶(hù)要求,那么OK。否則,再根據(jù)各服務(wù)器的資源情況和業(yè)務(wù)操作響應(yīng)時(shí)間進(jìn)一步分析原因所在。2業(yè)務(wù)操作響應(yīng)時(shí)間: 分析方案運(yùn)行情況應(yīng)從平均事務(wù)響應(yīng)時(shí)間圖和事務(wù)性能摘要圖開(kāi)始。使用“事務(wù)性能摘要”圖,可以確定在方案執(zhí)行期間響應(yīng)時(shí)間過(guò)長(zhǎng)的事務(wù)。 細(xì)分事務(wù)并分析每個(gè)頁(yè)面組件的性能。查看過(guò)長(zhǎng)的事務(wù)響應(yīng)時(shí)間是由哪些頁(yè)面組件引起的?問(wèn)題是否與網(wǎng)絡(luò)或服務(wù)器有關(guān)? 如果服務(wù)器耗時(shí)過(guò)長(zhǎng),請(qǐng)使用相應(yīng)的服務(wù)器圖確定有問(wèn)題的服務(wù)器度量并查明服務(wù)器性能下降的原因。如果網(wǎng)絡(luò)耗時(shí)過(guò)長(zhǎng),請(qǐng)使用“網(wǎng)絡(luò)監(jiān)視器”圖確定導(dǎo)致性能瓶頸的網(wǎng)絡(luò)問(wèn)題3服務(wù)器資源監(jiān)

7、控指標(biāo):內(nèi)存:1 UNIX資源監(jiān)控中指標(biāo)內(nèi)存頁(yè)交換速率(Paging rate),如果該值偶爾走高,表明當(dāng)時(shí)有線程競(jìng)爭(zhēng)內(nèi)存。如果持續(xù)很高,則內(nèi)存可能是瓶頸。也可能是內(nèi)存訪問(wèn)命中率低。2 Windows資源監(jiān)控中,如果ProcessPrivate Bytes計(jì)數(shù)器和ProcessWorking Set計(jì)數(shù)器的值在長(zhǎng)時(shí)間內(nèi)持續(xù)升高,同時(shí)MemoryAvailable bytes計(jì)數(shù)器的值持續(xù)降低,則很可能存在內(nèi)存泄漏。內(nèi)存資源成為系統(tǒng)性能的瓶頸的征兆:很高的換頁(yè)率(high pageout rate);進(jìn)程進(jìn)入不活動(dòng)狀態(tài);交換區(qū)所有磁盤(pán)的活動(dòng)次數(shù)可高;可高的全局系統(tǒng)CPU利用率;內(nèi)存不夠出錯(cuò)(ou

8、t of memory errors)處理器:1 UNIX資源監(jiān)控(Windows操作系統(tǒng)同理)中指標(biāo)CPU占用率(CPU utilization),如果該值持續(xù)超過(guò)95%,表明瓶頸是CPU??梢钥紤]增加一個(gè)處理器或換一個(gè)更快的處理器。如果服務(wù)器專(zhuān)用于SQL Server,可接受的最大上限是80-85%合理使用的范圍在60%至70%。2 Windows資源監(jiān)控中,如果SystemProcessor Queue Length大于2,而處理器利用率(Processor Time)一直很低,則存在著處理器阻塞。CPU資源成為系統(tǒng)性能的瓶頸的征兆:很慢的響應(yīng)時(shí)間(slow response time)

9、CPU空閑時(shí)間為零(zero percent idle CPU)過(guò)高的用戶(hù)占用CPU時(shí)間(high percent user CPU)過(guò)高的系統(tǒng)占用CPU時(shí)間(high percent system CPU)長(zhǎng)時(shí)間的有很長(zhǎng)的運(yùn)行進(jìn)程隊(duì)列(large run queue size sustained over time)磁盤(pán)I/O:1 UNIX資源監(jiān)控(Windows操作系統(tǒng)同理)中指標(biāo)磁盤(pán)交換率(Disk rate),如果該參數(shù)值一直很高,表明I/O有問(wèn)題。可考慮更換更快的硬盤(pán)系統(tǒng)。2 Windows資源監(jiān)控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而P

10、age Reads/sec頁(yè)面讀取操作速率很低,則可能存在磁盤(pán)瓶徑。I/O資源成為系統(tǒng)性能的瓶頸的征兆 :過(guò)高的磁盤(pán)利用率(high disk utilization)太長(zhǎng)的磁盤(pán)等待隊(duì)列(large disk queue length)等待磁盤(pán)I/O的時(shí)間所占的百分率太高(large percentage of time waiting for disk I/O)太高的物理I/O速率:large physical I/O rate(not sufficient in itself)過(guò)低的緩存命中率(low buffer cache hit ratio(not sufficient in its

11、elf)太長(zhǎng)的運(yùn)行進(jìn)程隊(duì)列,但CPU卻空閑(large run queue with idle CPU)4數(shù)據(jù)庫(kù)服務(wù)器:SQL Server數(shù)據(jù)庫(kù):1 SQLServer資源監(jiān)控中指標(biāo)緩存點(diǎn)擊率(Cache Hit Ratio),該值越高越好。如果持續(xù)低于80%,應(yīng)考慮增加內(nèi)存。2 如果Full Scans/sec(全表掃描/秒)計(jì)數(shù)器顯示的值比1或2高,則應(yīng)分析你的查詢(xún)以確定是否確實(shí)需要全表掃描,以及SQL查詢(xún)是否可以被優(yōu)化。3 Number of Deadlocks/sec(死鎖的數(shù)量/秒):死鎖對(duì)應(yīng)用程序的可伸縮性非常有害,并且會(huì)導(dǎo)致惡劣的用戶(hù)體驗(yàn)。該計(jì)數(shù)器的值必須為0。4 Lock R

12、equests/sec(鎖請(qǐng)求/秒),通過(guò)優(yōu)化查詢(xún)來(lái)減少讀取次數(shù),可以減少該計(jì)數(shù)器的值。Oracle數(shù)據(jù)庫(kù):1 如果自由內(nèi)存接近于0而且?guī)炜齑婊驍?shù)據(jù)字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。快存(共享SQL區(qū))和數(shù)據(jù)字典快存的命中率:select(sum(pins-reloads)/sum(pins) from v$librarycache;select(sum(gets-getmisses)/sum(gets) from v$rowcache;自由內(nèi)存 select * from v$sgastat where name=free memory;2 如果數(shù)據(jù)的緩存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS參數(shù)的值(單位:塊)。緩沖區(qū)高速緩存命中率:select name,value from v$sysstat where name in (db block gets,consistent gets,physical reads) ;Hit Ratio = 1-(physical reads / ( db

溫馨提示

  • 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)論