亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

分析數(shù)據(jù)庫(kù)的問(wèn)題,需要手頭有足夠的數(shù)據(jù)來(lái)做支撐。不過(guò)很多朋友不知道什么情況下需要什么樣的數(shù)據(jù)來(lái)做分析,也有些朋友手頭有不少數(shù)據(jù),但是不知道該如何去分析。
         
今天我用一個(gè)前幾天一個(gè)微信群里大家討論的案例來(lái)做個(gè)分析,因?yàn)楫?dāng)時(shí)正好在參加一個(gè)活動(dòng),因此有一搭沒(méi)一搭的看群里大家在聊這個(gè)CASE,具體需要分析什么問(wèn)題不太清楚,不過(guò)這個(gè)案例的數(shù)據(jù)還挺有代表性的。
         
這是一個(gè)Oracle的例子,分析依據(jù)是兩份awr報(bào)告,簡(jiǎn)單的從awr報(bào)告入手,可能看不出特別明顯的問(wèn)題。此類案例普遍存在,分析起來(lái)其實(shí)不難,不過(guò)如果不掌握方法,就不知道該如何入手了。另外,如果我們要分析其他數(shù)據(jù)庫(kù),可能沒(méi)有Oracle這么強(qiáng)大的AWR數(shù)據(jù),能夠獲得的數(shù)據(jù)與這個(gè)案例差不多,因此這個(gè)案例的分析思路對(duì)于分析國(guó)產(chǎn)數(shù)據(jù)庫(kù)也有一定的參考價(jià)值。
         
如果有朋友缺乏用于國(guó)產(chǎn)或者開(kāi)源數(shù)據(jù)庫(kù)分析的數(shù)據(jù)和工具,老白在這里做個(gè)廣告??梢缘?ldquo;DBAIOPS社區(qū)”下載一份D-SMART社區(qū)版,1元錢(qián)激活,就可以用來(lái)監(jiān)控與分析你的數(shù)據(jù)庫(kù)了。D-SMART能夠以2-3分鐘的頻率采集數(shù)據(jù)庫(kù)的各種指標(biāo),每種數(shù)據(jù)庫(kù)都會(huì)有數(shù)百個(gè)到上千個(gè)指標(biāo)可供分析,目前對(duì)MySQL/PG/達(dá)夢(mèng)/人大金倉(cāng)/瀚高/海量/openGauss等數(shù)據(jù)庫(kù)的支持還是不錯(cuò)的。近期還將推出支持OceanBase/GaussDB等分布式數(shù)據(jù)庫(kù)的專版。
因?yàn)槲仪皫滋鞗](méi)有仔細(xì)看群里的討論,因此不知道用戶到底出了什么問(wèn)題,只能根據(jù)數(shù)據(jù)來(lái)進(jìn)行分析。從DB TIME這個(gè)指標(biāo)上,我看到兩個(gè)AWR報(bào)告中存在明顯的不同。從上面可以看出,8-9點(diǎn)的DB TIME明顯要高于5-6點(diǎn)的。不過(guò)這種比較一般來(lái)說(shuō)也不大有代表性,因?yàn)?-9點(diǎn)可能業(yè)務(wù)負(fù)載要遠(yuǎn)高于5-6點(diǎn)。分析一個(gè)數(shù)據(jù)庫(kù)是否存在問(wèn)題,DB TIME是一個(gè)十分重要的分析元素,目前絕大多數(shù)國(guó)產(chǎn)數(shù)據(jù)庫(kù)和開(kāi)源數(shù)據(jù)庫(kù)中也都有這個(gè)指標(biāo)。DB TIME與持續(xù)時(shí)間的比值,對(duì)于本案例來(lái)說(shuō)就是每分鐘DB TIME這個(gè)指標(biāo)是有對(duì)比價(jià)值的,當(dāng)日如果采樣時(shí)間是相同的,直接比較這個(gè)值就可以了。日常做數(shù)據(jù)庫(kù)運(yùn)維的時(shí)候可以關(guān)注這個(gè)指標(biāo),通過(guò)這個(gè)指標(biāo)雖然不能定位數(shù)據(jù)庫(kù)的問(wèn)題在哪,不過(guò)可以大體判斷數(shù)據(jù)庫(kù)是否存在異常。
如果數(shù)據(jù)庫(kù)支持等待事件,通過(guò)等待事件可以對(duì)數(shù)據(jù)庫(kù)在宏觀上是否存在問(wèn)題做一個(gè)初步的判斷。看上面的案例,8-9點(diǎn)的TOP EVENT中的等待事件,似乎沒(méi)有明顯的宏觀問(wèn)題。DB CPU排在第一位是大多數(shù)系統(tǒng)的常態(tài),因?yàn)橄到y(tǒng)中一般都會(huì)存在一些CPU開(kāi)銷(xiāo)較大的SQL。單塊讀平均響應(yīng)時(shí)間6毫秒,占比16.11%,不知道存儲(chǔ)是什么,如果中低端存儲(chǔ)這個(gè)指標(biāo)也還可以,如果是高端存儲(chǔ),那么就偏低了。在看TOP EVENTS的時(shí)候,我們要注意,11.2.0.3只列出TOP 5,這對(duì)于發(fā)現(xiàn)系統(tǒng)中存在的問(wèn)題不一定有效。在這個(gè)案例中第五位的等待事件只占1.63,說(shuō)明其他的等待事件已經(jīng)對(duì)數(shù)據(jù)庫(kù)的影響不大了。雖然如此,查看完整的前臺(tái)進(jìn)程和后臺(tái)進(jìn)程的等待事件的完整數(shù)據(jù)還是十分必要的。
在這個(gè)案例中,和負(fù)載略低時(shí)的指標(biāo)相比較,就一眼可以看出問(wèn)題了,這個(gè)案例里,出問(wèn)題時(shí)段的單塊讀延時(shí)慢了1倍,這是一個(gè)明顯的疑點(diǎn)。在分析這個(gè)指標(biāo)的時(shí)候,一定要看waits這個(gè)值,如果這個(gè)值很小,那么一倍的差異也不一定能說(shuō)明問(wèn)題,因?yàn)榭赡艽嬖诮y(tǒng)計(jì)誤差。89萬(wàn)和292萬(wàn)次的等待,這種統(tǒng)計(jì)值相對(duì)來(lái)說(shuō)還是靠譜的,因此這個(gè)問(wèn)題可能真的存在。
         
除此之外,等待事件是十分正常的,在故障時(shí)間段里存在library cache:mutex x等待,不過(guò)占比2.46%,在這個(gè)案例中可以先作為次要因素來(lái)看待。
接下來(lái)我們需要看看負(fù)載數(shù)據(jù),對(duì)于Oracle AWR來(lái)說(shuō),Load Profile是能夠完全反映出負(fù)載的。其他數(shù)據(jù)庫(kù)也存在類似的負(fù)載數(shù)據(jù)。
比如上面是D-SMART采集的部分PG數(shù)據(jù)庫(kù)的負(fù)載數(shù)據(jù)。上面的AWR數(shù)據(jù)中,可以看出數(shù)據(jù)庫(kù)的負(fù)載并不算高,物理讀每秒大約50M左右,每秒執(zhí)行數(shù)不到3000,硬解析10個(gè)。疑點(diǎn)是每秒20個(gè)的logon,5-6點(diǎn)的報(bào)告中,這個(gè)指標(biāo)是1.3,不過(guò)8-9點(diǎn)很可能是大量用戶正在登錄的時(shí)候。因?yàn)閷?duì)整個(gè)項(xiàng)目背景不了解,因此不清楚這么多LOGON是否是正常的。
CPU上看,CPU資源還是出現(xiàn)了輕微的瓶頸的,這個(gè)服務(wù)器的配置不高,不知道是老的服務(wù)器還是虛擬機(jī),總共4 socket 16核。
         
接下來(lái)可以看看等待事件的明細(xì)情況。從總體的情況來(lái)看,還是沒(méi)有太大問(wèn)題的。Ksdxexeotherwait這個(gè)問(wèn)題很可能是11.2.0.3的BUG導(dǎo)致,這也可能是引發(fā)共享池與CURSOR相關(guān)等待的主因,從上面的等待事件看,確實(shí)是這些指標(biāo)存在一些問(wèn)題。其他指標(biāo)還算合理。Log file sync 7毫秒是有點(diǎn)高的,在5點(diǎn)的報(bào)告里是2毫秒??匆幌潞笈_(tái)進(jìn)程的log file parallel write指標(biāo)是4毫秒,而5點(diǎn)時(shí)是2毫秒。從這些指標(biāo)上看,業(yè)務(wù)高峰期,存儲(chǔ)的性能是存在一定的問(wèn)題的。因?yàn)檫@份報(bào)告是不全的,因此我無(wú)法去通過(guò)數(shù)據(jù)文件IO去分析是否文件IO存在性能問(wèn)題。同時(shí)通過(guò)分析TOP SEGMENTS的數(shù)據(jù)來(lái)查看哪些表或者索引上物理讀較高。
         
對(duì)于Oracle數(shù)據(jù)庫(kù),如果發(fā)現(xiàn)數(shù)據(jù)庫(kù)層面的IO性能問(wèn)題,是可以通過(guò)osw數(shù)據(jù)來(lái)進(jìn)行驗(yàn)證的,看看OS層面是否也存在IO性能問(wèn)題,并判斷問(wèn)題是出在OS本身還是后端存儲(chǔ)系統(tǒng)上。不過(guò)11.2.0.4以后的Oracle 才會(huì)在GI里自帶OSWBB,11.2.03里并沒(méi)有自動(dòng)安裝,因此如果需要進(jìn)一步分析IO的問(wèn)題,需要安裝一個(gè)OSW。
         
在國(guó)產(chǎn)數(shù)據(jù)庫(kù)中,可能也沒(méi)有更多的數(shù)據(jù)可以供分析。這種情況下我們也不是束手無(wú)策的,可以通過(guò)TOP SQL來(lái)繼續(xù)分析。
         
因?yàn)閺纳厦姘l(fā)現(xiàn)的問(wèn)題CPU使用率較高、IO延時(shí)異常,所以在分析TOP SQL的時(shí)候我們重點(diǎn)要看CPU開(kāi)銷(xiāo)較高的、物理讀、邏輯讀較高的SQL。同時(shí)執(zhí)行時(shí)間較長(zhǎng)的SQL也是值得我們?nèi)シ治龅摹?/section>
如果能對(duì)某些關(guān)鍵SQL做趨勢(shì)分析或者比對(duì)分析,那么是很容易找到問(wèn)題點(diǎn)的。不過(guò)AWR報(bào)告不具備這個(gè)能力。不過(guò)我們也可以通過(guò)執(zhí)行效率存在差別的SQL的awrsqrpt報(bào)告來(lái)分析其中的差別。
比如我們看這個(gè)例子中的執(zhí)行時(shí)間最長(zhǎng)的這條SQL。平均執(zhí)行時(shí)間2.98秒。一小時(shí)內(nèi)執(zhí)行了6566次。
在5-6點(diǎn)的報(bào)告中,執(zhí)行次數(shù)198次,平均每次執(zhí)行1.71秒,慢了1.2秒多。對(duì)比CPU消耗來(lái)看,在兩份報(bào)告中分別是1.58秒和1.42秒,從這個(gè)數(shù)據(jù)上看,執(zhí)行計(jì)劃大概率沒(méi)有惡化。
在平均UIO上差得比CPU要高得多,倍率與單塊讀延時(shí)增加的倍率是同樣數(shù)量級(jí)的。因?yàn)閿?shù)據(jù)的問(wèn)題,今天無(wú)法更為深入的去解析這個(gè)問(wèn)題。主要疑點(diǎn)是IO延時(shí)的問(wèn)題和LOGON的問(wèn)題。
         
不過(guò)如果我們面對(duì)的是國(guó)產(chǎn)數(shù)據(jù)庫(kù),那么也有可能只有這些數(shù)據(jù)可以供我們分析。我們?cè)撊绾蝸?lái)分析呢?首先從宏觀上分析,這個(gè)分析可以通過(guò)負(fù)載數(shù)據(jù)、主要緩沖池命中率、TOP 等待事件等方面來(lái)分析。就本案例而言,從總體上看,沒(méi)有特別明顯的問(wèn)題,因此和相類似負(fù)載時(shí)段正常的指標(biāo)數(shù)據(jù)進(jìn)行比對(duì)就十分關(guān)鍵了。
比如對(duì)比IO延時(shí)指標(biāo)時(shí),如果能把負(fù)載類似時(shí)段的數(shù)據(jù)疊加在一起分析,那么就會(huì)有很好的參考。本案例中的對(duì)比分析數(shù)據(jù)并不太有代表性,不過(guò)也能從中發(fā)現(xiàn)了IO方面的延時(shí)變壞的問(wèn)題。
         
如果從宏觀層面能夠發(fā)現(xiàn)的問(wèn)題不多,那么就需要通過(guò)微觀層面去分析了。AWR報(bào)告特別適合宏觀層面的分析,如果問(wèn)題很?chē)?yán)重,成為系統(tǒng)的主要問(wèn)題,那么很容易從AWR中發(fā)現(xiàn)問(wèn)題。而如果AWR中看似較為正常,那么Oracle就提供了ASH工具,用于做微觀分析。目前也有部分國(guó)產(chǎn)數(shù)據(jù)庫(kù),比如openGauss/Polardb等提供了類似ASH的工具,那么我們也可以通過(guò)ASH進(jìn)行分析,發(fā)現(xiàn)潛在問(wèn)題。
         
如果沒(méi)有ASH可以用于分析,那么TOP SQL分析可能就變成了唯一有效的工具了。因此我們需要對(duì)自己生產(chǎn)系統(tǒng)采集TOP SQL指標(biāo),并對(duì)SQL在某個(gè)時(shí)間段內(nèi)的執(zhí)行情況進(jìn)行分析。比如針對(duì)同一條SQL語(yǔ)句,在邏輯讀、物理讀、執(zhí)行數(shù)量、執(zhí)行延時(shí)等維度進(jìn)行時(shí)段對(duì)比分析,一般來(lái)說(shuō)就能夠看出其中可能存在的問(wèn)題了。

分享到:
標(biāo)簽:數(shù)據(jù)庫(kù)
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定