性能問(wèn)題總是數(shù)據(jù)庫(kù)領(lǐng)域里面永恒的話題,使用 DB2 作為底層數(shù)據(jù)平臺(tái)的 SAP 系統(tǒng)為我們提供了許多方法監(jiān)控和檢測(cè)數(shù)據(jù)庫(kù)性能問(wèn)題。本文從數(shù)據(jù)庫(kù)性能問(wèn)題檢測(cè)的一般思路和方法論入手,介紹了如何通過(guò) SAP 系統(tǒng)對(duì) DB2 的性能進(jìn)行監(jiān)控和分析。回頁(yè)首數(shù)據(jù)庫(kù)性能問(wèn)題檢測(cè)的思路及方法論在數(shù)據(jù)庫(kù)運(yùn)維工作中遇到性能問(wèn)題時(shí),通常會(huì)讓數(shù)據(jù)庫(kù)管理員感到無(wú)從下手,不容易斷定問(wèn)題的根源所在。如果能有一種可操作的一般性的方法作為指導(dǎo),我們通常就能夠發(fā)現(xiàn)大部分?jǐn)?shù)據(jù)庫(kù)性能問(wèn)題的根源。那么,首先根據(jù)我們對(duì)數(shù)據(jù)庫(kù)性能監(jiān)控的一些實(shí)踐經(jīng)驗(yàn)來(lái)總結(jié)一下在遇到性能問(wèn)題時(shí)應(yīng)該進(jìn)行哪些檢查。我們不能保證通過(guò)文中介紹的方法就能找到所有性能瓶頸,性能問(wèn)題的原因很多,解決方法也多種多樣,我們?cè)谶@里只是提供一些普遍的,一般性的方法,具體的實(shí)施還需要根據(jù)系統(tǒng)的具體情況和不斷的實(shí)踐經(jīng)驗(yàn)積累。同時(shí),通過(guò)進(jìn)行這些監(jiān)控,也有利于為技術(shù)支持人員提供更詳細(xì)診斷信息,以便于快速定位性能問(wèn)題。當(dāng)遇到一個(gè)性能問(wèn)題,我們首先進(jìn)行以下排查: 性能問(wèn)題是在何時(shí)發(fā)生的; 性能問(wèn)題持續(xù)存在的還是間斷性的; 系統(tǒng)范疇的性能問(wèn)題還是數(shù)據(jù)庫(kù)本身的性能問(wèn)題; 性能問(wèn)題是否只存在于某一個(gè)應(yīng)用; 性能問(wèn)題是隨機(jī)出現(xiàn)的還是必然出現(xiàn)的。如果性能問(wèn)題存在于所有應(yīng)用,我們可以進(jìn)行以下排查: 如果發(fā)現(xiàn)系統(tǒng)存在大量的 I/O 操作: 檢查設(shè)備使用情況; 檢查排序情況和臨時(shí)表空間; 檢查查詢性能是否有效的得到優(yōu)化; 檢查緩沖池的使用狀況。 如果發(fā)現(xiàn) CPU 具有很高的負(fù)載: 檢查排序狀況; 檢查緩沖池的使用狀況。 如果發(fā)現(xiàn) CPU 和 I/O 操作的負(fù)荷都很大: 檢查用戶數(shù)量; 檢查排序狀況。 如果發(fā)現(xiàn) CPU 和 I/O 操作的負(fù)荷都很小而數(shù)據(jù)庫(kù)響應(yīng)仍然很慢: 檢查并發(fā)性和鎖的使用狀況; 檢查緩沖池的使用狀況。如果性能問(wèn)題可以被定位在一個(gè)應(yīng)用,我們可以進(jìn)行以下排查: 檢查排序情況。 檢查并發(fā)性和鎖的使用狀況。 檢查統(tǒng)計(jì)信息是否更新。回頁(yè)首通過(guò)SAP 系統(tǒng)的工具對(duì) DB2 UDB 進(jìn)行監(jiān)控通過(guò)前一部分的描述,我們了解到了在遇到性能問(wèn)題以后應(yīng)該用什么思路尋找性能的瓶頸,從而想辦法解決性能問(wèn)題。在對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查的過(guò)程中,我們通常會(huì)用到數(shù)據(jù)管理工具,命令行以及操作系統(tǒng)的工具,還要結(jié)合 SAP 的自身特點(diǎn)尋找性能問(wèn)題的根源,這將是一個(gè)比較繁瑣和費(fèi)事的工作。在使用 SAP 作為底層數(shù)據(jù)庫(kù)的 SAP 系統(tǒng)中,由于 SAP 實(shí)現(xiàn)了與 DB2 緊密的結(jié)合。SAP 的 DBA Cockpit 提供了許多功能來(lái)支持?jǐn)?shù)據(jù)庫(kù)的管理工作,使得數(shù)據(jù)庫(kù)性能監(jiān)控和分析變得更加簡(jiǎn)單。下面我們就來(lái)看看,SAP 為 DB2 性能監(jiān)控和分析提供了哪些支持。磁盤(pán)I/O 性能監(jiān)控概念對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),最消耗時(shí)間的操作實(shí)際上是從磁盤(pán)中檢索數(shù)據(jù)。這是由磁盤(pán)的物理特性決定的。盡管磁盤(pán)存儲(chǔ)技術(shù)已經(jīng)取得了極大的進(jìn)步,但磁盤(pán)的讀寫(xiě)速度與內(nèi)存的讀寫(xiě)速度仍然相差幾個(gè)數(shù)量級(jí)。從性能調(diào)整的角度來(lái)說(shuō),如果一個(gè)機(jī)器的磁盤(pán)出現(xiàn)問(wèn)題,那么其他的任何優(yōu)化工作都無(wú)法提供幫助。因此我們應(yīng)該保證運(yùn)行數(shù)據(jù)庫(kù)的磁盤(pán)系統(tǒng)是健康的。SAP 系統(tǒng)為我們提供了監(jiān)控磁盤(pán)讀寫(xiě)速度的功能,讓我們可以直接了解當(dāng)前磁盤(pán)的性能狀況。監(jiān)控我們首先進(jìn)入 SAP 的 DBA Cockpit ( 可以直接輸入 st04),然后在 Performance 的目錄下雙擊 Database, Buffer Pool 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)磁盤(pán)的讀寫(xiě)狀況。圖1. 磁盤(pán) I/O 信息從圖中我們可以看到磁盤(pán)物理平均讀速度為 3.25ms,寫(xiě)速度為 7.45ms。分析磁盤(pán)物理讀寫(xiě)速度反應(yīng)了磁盤(pán)子系統(tǒng)的性能。一般情況下,磁盤(pán)讀寫(xiě)速度應(yīng)該小于 5ms,讀速度一般要大于寫(xiě)速度,但在一些具有大量緩存的存儲(chǔ)系統(tǒng)中,寫(xiě)速度可能會(huì)快于讀速度。磁盤(pán)性能的優(yōu)化已經(jīng)超出了本文討論的范圍,這里只是提供一些基本的指導(dǎo)。緩沖池監(jiān)控概念緩沖池是數(shù)據(jù)庫(kù)單獨(dú)開(kāi)辟的一塊存儲(chǔ)區(qū)域,這片區(qū)域用來(lái)緩存從磁盤(pán)讀出的包含數(shù)據(jù)表和索引的數(shù)據(jù)頁(yè)。當(dāng)數(shù)據(jù)第一次被檢索出來(lái)以后便被暫時(shí)緩存在緩沖池中,當(dāng)數(shù)據(jù)下次被訪問(wèn)時(shí),數(shù)據(jù)庫(kù)將直接從緩沖池中讀取數(shù)據(jù),這樣減少了相對(duì)緩慢的磁盤(pán) I/O 操作。因此,緩沖池的配置對(duì)于數(shù)據(jù)庫(kù)性能十分重要。在緩沖池中,目前還不支持存儲(chǔ)大對(duì)象和長(zhǎng)數(shù)據(jù)記錄。反映緩沖池質(zhì)量的一個(gè)重要性能指標(biāo)是緩沖池命中率。緩沖池命中率指數(shù)據(jù)庫(kù)管理器不需從磁盤(pán)讀入頁(yè)就能處理頁(yè)請(qǐng)求的時(shí)間百分比。其計(jì)算方法為:緩沖池命中率 = (1 - (( 緩沖池?cái)?shù)據(jù)物理讀 + 緩沖池索引物理讀 ) / ( 緩沖池?cái)?shù)據(jù)邏輯讀 + 緩沖池索引邏輯讀 ) ) ) * 100%另外兩個(gè)重要性能指標(biāo)是索引命中率和數(shù)據(jù)命中率。索引命中率反映了可以在緩沖池中找到的頁(yè)面能夠滿足的對(duì)索引頁(yè)的所有讀請(qǐng)求所占的百分比。其計(jì)算方法為:索引命中率 = (1 - ( 緩沖池索引物理讀 / 緩沖池索引邏輯讀 ) ) ) * 100%數(shù)據(jù)命中率說(shuō)明了可以在緩沖池中找到的頁(yè)面能夠滿足的對(duì)數(shù)據(jù)頁(yè)的所有讀請(qǐng)求所占的百分比。其計(jì)算方法為:數(shù)據(jù)命中率 = (1 - ( 緩沖池?cái)?shù)據(jù)物理讀 / 緩沖池?cái)?shù)據(jù)邏輯讀 ) ) ) * 100%監(jiān)控我們可以從三個(gè)級(jí)別來(lái)看緩沖池的質(zhì)量,這三個(gè)層次分別是數(shù)據(jù)庫(kù)級(jí),緩沖池級(jí),表空間級(jí)。在 SAP 系統(tǒng)中我們可以使用 DBA Cockpit 來(lái)查看不同級(jí)別的緩沖池質(zhì)量。首先可以在數(shù)據(jù)庫(kù)級(jí)查看緩沖池的質(zhì)量,我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Buffer Pool 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)總體的緩沖池質(zhì)量。圖2. 緩沖池總體狀況我們從圖中可以看出,數(shù)據(jù)庫(kù)緩沖池的總體命中率是 99.81%,數(shù)據(jù)命中率為 99.86%,索引命中率為 99.70%。如果在 st04 中選中 Performance - Buffer pools, 我們也可以在緩沖池級(jí)別看到命中率,如果一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)緩沖池,那么這個(gè)命中率與我們?cè)跀?shù)據(jù)庫(kù)級(jí)別看到的命中率相同。圖3. 數(shù)據(jù)庫(kù)級(jí)別緩沖池信息如果在 st04 中選中 Performance - Tablespaces,我們就可以在表空間級(jí)別看到緩沖池的命中率。圖4. 表空間級(jí)別緩沖池信息分析緩沖池的理想命中率對(duì)于索引應(yīng)該大于 90%, 對(duì)于數(shù)據(jù)應(yīng)該大于 95%。要提高緩沖池的命中率,可以增加緩沖池的大小,也可以為不同類(lèi)型數(shù)據(jù)分配不同緩沖池,可以為每個(gè)經(jīng)常訪問(wèn)的具有自己的表空間的大型表使用一個(gè)緩沖池,也可以為一組小型表使用一個(gè)緩沖池。緩存監(jiān)控概念數(shù)據(jù)庫(kù)的緩存主要有包緩存 (Package Cache) 和編目錄緩存 (Catalog Cache)。它們與數(shù)據(jù)庫(kù)的查詢性能息息相關(guān)。包緩存(Package Cache) :SQL 語(yǔ)句編譯通常消耗的資源比較大,為了提高系統(tǒng)性能,動(dòng)態(tài) SQL 語(yǔ)句在被編譯后一般存放于包緩存中。當(dāng)用戶下一次請(qǐng)求同一條 SQL 語(yǔ)句,就無(wú)需再次編譯 SQL 語(yǔ)句。包緩存的質(zhì)量一般通過(guò)包緩存命中率來(lái)衡量,它表明了包緩存的設(shè)置是否成功的避免了 SQL 語(yǔ)句的重新編譯。其計(jì)算方法為:包緩存命中率 = (1 - ( 在包緩存中的插入次數(shù) / 查詢包緩存的次數(shù) )) * 100編目錄緩存 (Catalog Cache):編目錄緩存用來(lái)緩存系統(tǒng)編目錄信息,如系統(tǒng)表,權(quán)限,系統(tǒng)存儲(chǔ)過(guò)程。系統(tǒng)編目錄的訪問(wèn)速度對(duì)于系統(tǒng)的性能有著十分重要的影響。在 DPF 環(huán)境下,系統(tǒng)編目錄的訪問(wèn)速度至關(guān)重要。通過(guò)使用編目錄緩存可以大大提高訪問(wèn)系統(tǒng)編目錄的速度。編目錄緩存質(zhì)量一般通過(guò)編目錄命中率來(lái)衡量,它表明了編目錄緩存是否成功的避免了從磁盤(pán)中讀取編目錄信息。其計(jì)算方法為:包緩存命中率 = (1 - ( 在編目錄緩存中的插入次數(shù) / 查詢編目錄緩存的次數(shù) )) * 100監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Cache 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)緩存的統(tǒng)計(jì)信息。圖5. 數(shù)據(jù)庫(kù)緩存信息從圖中我們可以看到編目錄緩存的質(zhì)量是 99.93%,在圖中的 quality 就是我們前面所說(shuō)的命中率。當(dāng)前數(shù)據(jù)庫(kù)編目錄緩存的大小為 10240KB,沒(méi)有緩存溢出。在左邊一欄,我們可以看到,包緩存的質(zhì)量是 97.64%,包緩存的大小為 62080KB,沒(méi)有緩存溢出。分析包緩存的理想命中率應(yīng)該大于 98%,用戶通常不用關(guān)注包緩存的大小,如果 PCKCACHESZ 被設(shè)置為 automatic,其大小由 DB2 自動(dòng)調(diào)節(jié)。編目錄緩存的理想命中率也應(yīng)該大于 98%,其大小應(yīng)該保證編目錄緩存不應(yīng)該發(fā)生任何溢出。我們可以調(diào)整數(shù)據(jù)庫(kù)配置參數(shù) CATALOGCACHE_SZ 來(lái)改變編目錄緩存大小,由于編目錄緩存是從數(shù)據(jù)庫(kù)堆中分配的,因此,在改變 CATALOGCACHE_SZ 變量的同時(shí),應(yīng)該注意到數(shù)據(jù)庫(kù)堆的大小也會(huì)相應(yīng)改變。排序監(jiān)控概念DB2 在運(yùn)行過(guò)程中時(shí)經(jīng)常要做排序操作。一般說(shuō)來(lái),在 OLTP 類(lèi)型的數(shù)據(jù)庫(kù)中,排序操作通常少于 OLAP 類(lèi)型的數(shù)據(jù)庫(kù)環(huán)境。排序操作通常會(huì)在三種情況下發(fā)生,第一種情況是數(shù)據(jù)的查詢處理,比如 order by, group, 哈希連接,索引操作,內(nèi)存的表操作等等。第二種是當(dāng)我們載入操作的對(duì)象是帶有索引的表時(shí),再載入操作過(guò)程中就會(huì)涉及到對(duì)索引鍵的列表和排序,這樣就會(huì)產(chǎn)生排序操作。第三種情況發(fā)生在創(chuàng)建索引的時(shí)候。排序的效率因而直接影響到數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間,我們必須對(duì)排序進(jìn)行有效監(jiān)控。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Sorts 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)的排序狀況。圖6. 數(shù)據(jù)庫(kù)排序狀況可以從圖中看出,共享排序堆的大小為 1676KB, 私有排序堆的大小為 1340KB。如果沒(méi)有索引滿足所取的行的要求順序,或者 DB2 查詢優(yōu)化器認(rèn)為排序的代價(jià)低于索引掃描,那么就需要在排序堆中進(jìn)行排序。DB2 的排序分為私有排序和共享排序。私有排序發(fā)生在代理的私有代理內(nèi)存中,而共享排序發(fā)生在數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)共享內(nèi)存中。我們還可以看出,排序堆溢出次數(shù) 1174 次,總的排序次數(shù)為 310642 次。分析如果數(shù)據(jù)庫(kù)分配的排序堆大小不夠大,就會(huì)出現(xiàn)排序溢出的情況,這樣就需要?jiǎng)佑门R時(shí)表空間來(lái)輔助排序的進(jìn)行,由于臨時(shí)表空間存在于磁盤(pán),這將大大影響排序的速度。理想情況下,排序溢出率 ((Sort overflows * 100) / Total sorts ) 不應(yīng)該超過(guò) 1%。如果這個(gè)溢出率過(guò)高,那么數(shù)據(jù)庫(kù)中很可能發(fā)生了大的排序,我們就需要調(diào)查出現(xiàn)過(guò)度排序的原因。在發(fā)現(xiàn)根源之前,一個(gè)簡(jiǎn)易的解決方案是增加 SORTHEAP 的大小。然而,這樣做通常是治標(biāo)不治本并且掩蓋了真實(shí)的性能問(wèn)題。比較徹底的解決方案應(yīng)該是確定引起排序的 SQL 并更改該語(yǔ)句,或通過(guò)增加索引來(lái)避免或減少排序開(kāi)銷(xiāo)。并發(fā)性和鎖的監(jiān)控概念數(shù)據(jù)庫(kù)的鎖是數(shù)據(jù)庫(kù)管理器用來(lái)控制應(yīng)用程序并發(fā)訪問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)并且保證數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性的重要機(jī)制,數(shù)據(jù)庫(kù)中行和表都可以上鎖。數(shù)據(jù)庫(kù)的鎖在保證了數(shù)據(jù)庫(kù)數(shù)據(jù)一致性同時(shí)也在一定程度上降低了數(shù)據(jù)庫(kù)的響應(yīng)速度。鎖等待和死鎖是影響數(shù)據(jù)庫(kù)相應(yīng)速度的重要因素,糟糕的應(yīng)用程序設(shè)計(jì)和不合理的 SQL 查詢計(jì)劃的生成都會(huì)導(dǎo)致鎖等待和死鎖。鎖升級(jí) (Lock Escalation):一個(gè)鎖通常作為一個(gè)記錄存儲(chǔ)在內(nèi)存鎖表中,鎖表的大小可以由數(shù)據(jù)庫(kù)自動(dòng)調(diào)節(jié)。鎖升級(jí)一般發(fā)生在鎖的數(shù)量超過(guò)了數(shù)據(jù)庫(kù)配置參數(shù) MAXLOCKS 所指定的大小,為了減少鎖的數(shù)量,數(shù)據(jù)庫(kù)會(huì)把若干行一級(jí)的鎖合并為表鎖。這樣數(shù)據(jù)庫(kù)的并發(fā)性就會(huì)受到影響。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Locks and Deadlocks 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)的鎖的狀況。圖7. 數(shù)據(jù)庫(kù)鎖狀況從圖中可以看到,當(dāng)前鎖表的大小為 22144KB,已經(jīng)使用了 94KB。鎖等待的平均時(shí)間為 10.40ms,沒(méi)有鎖升級(jí)和死鎖被檢測(cè)到。分析影響數(shù)據(jù)性能的有關(guān)鎖的問(wèn)題主要集中在鎖等待,死鎖和鎖升級(jí)。這些問(wèn)題的根源很可能是數(shù)據(jù)庫(kù)應(yīng)用的設(shè)計(jì)問(wèn)題。因此,我們應(yīng)該仔細(xì)調(diào)查造成死鎖,鎖等待和鎖升級(jí)的應(yīng)用程序,以及其用到的 SQL 語(yǔ)句。同時(shí),在問(wèn)題定位之前,我們也可以通過(guò)下面方法來(lái)解決數(shù)據(jù)庫(kù)鎖造成的性能問(wèn)題。鎖等待和死鎖:如果要避免鎖等待和死鎖的問(wèn)題我們需要注意數(shù)據(jù)庫(kù)參數(shù)中的 DLCHKTIME 和 LOCKTIMEOUT 兩個(gè)參數(shù)的設(shè)置。其中 DLCHKTIME 單位是毫秒,是 DB2 檢查死鎖的間隔時(shí)間,如果該值為 10000ms,則表明每隔 10 秒鐘數(shù)據(jù)庫(kù)會(huì)檢查一下有無(wú)死鎖存在,如有死鎖,會(huì)選擇回滾其中的某一個(gè)事務(wù),讓另外一個(gè)事務(wù)完成交易。LOCKTIMEOUT 單位是秒,是鎖等待最長(zhǎng)時(shí)間,超過(guò)該時(shí)間仍未獲得鎖,則返回錯(cuò)誤。LOCKTIMEOUT 的默認(rèn)值為 -1,這意味著鎖等待時(shí)間無(wú)限大,一般不推薦這種設(shè)置。DLCHKTIME 時(shí)間通常要設(shè)得比 LOCKTIMEOUT 時(shí)間小一些,否則還未發(fā)現(xiàn)死鎖,就會(huì)返回鎖等待超時(shí)錯(cuò)誤 (SQL0911N 返回碼 68) 。鎖升級(jí):要避免鎖升級(jí),我們應(yīng)該正確設(shè)置數(shù)據(jù)庫(kù)參數(shù) LOCKLIST 和 MAXLOCKS。LOCKLIST 表明分配給鎖表的內(nèi)存大小。每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)鎖表,鎖表包含了并發(fā)連接到該數(shù)據(jù)庫(kù)的所有應(yīng)用程序所持有的鎖。MAXLOCKS 定義了應(yīng)用程序可以占有鎖表空間的百分比,當(dāng)一個(gè)應(yīng)用程序所使用的鎖表百分比達(dá)到 MAXLOCKS 時(shí),數(shù)據(jù)庫(kù)管理器會(huì)升級(jí)這些鎖,用表鎖代替行鎖,從而減少列表中鎖的數(shù)量。我們一般可以通過(guò)增加鎖表大小的方法解決鎖升級(jí)問(wèn)題。日志性能監(jiān)控概念DB2 事務(wù)日志對(duì)于恢復(fù)來(lái)說(shuō)極其重要。它們記錄對(duì)數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)所做的更改。在 DB2 中數(shù)據(jù)和索引的改變都會(huì)先被寫(xiě)入日志緩沖區(qū),保證對(duì)數(shù)據(jù)所做的修改在記錄到數(shù)據(jù)庫(kù)之前,總是被具體化為日志文件。日志緩沖區(qū)的數(shù)據(jù)由日志處理器寫(xiě)入磁盤(pán)。在下列情況下,查詢處理必須等待日志數(shù)據(jù)寫(xiě)入磁盤(pán)后才能進(jìn)行: 事務(wù)提交時(shí)。 在將相應(yīng)數(shù)據(jù)頁(yè)寫(xiě)入磁盤(pán)之前,因?yàn)?DB2 使用預(yù)寫(xiě)日志記錄。預(yù)寫(xiě)日志記錄的好處是當(dāng)執(zhí)行 COMMIT 語(yǔ)句完成事務(wù)之后,并非所有更改的數(shù)據(jù)和索引頁(yè)都需要寫(xiě)入磁盤(pán)。 在元數(shù)據(jù)更改(一般通過(guò)執(zhí)行 DDL 語(yǔ)句產(chǎn)生的)之前。 日志緩沖區(qū)已滿。DB2 以這種方法管理向磁盤(pán)寫(xiě)入日志數(shù)據(jù)的目的是盡可能地縮短處理延遲時(shí)間。在存在許多較小的并發(fā)事務(wù)的環(huán)境中,許多處理延遲是由 COMMIT 造成的,因?yàn)樗仨毜却罩緮?shù)據(jù)寫(xiě)入磁盤(pán)后才能進(jìn)行。因此,日志處理器進(jìn)程頻繁地將少量日志數(shù)據(jù)寫(xiě)入磁盤(pán)會(huì)造成大量處理延遲,另外一些延遲是由日志 I/O 開(kāi)銷(xiāo)造成的。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Logging 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)日志的狀況。圖8. 數(shù)據(jù)庫(kù)日志狀況我們?cè)趫D中可以看到日志文件以及日志緩沖區(qū)的情況。包括日志文件的數(shù)量,大小,數(shù)據(jù)庫(kù)使用的日志空間以及可用日志空間的大小。還可以看到日志緩沖區(qū)的情況,當(dāng)前日志緩沖區(qū)的命中率為 100%。分析由于數(shù)據(jù)庫(kù)中的處理必須等待日志數(shù)據(jù)寫(xiě)入磁盤(pán)才能進(jìn)行,日志文件的讀寫(xiě)速度對(duì)數(shù)據(jù)庫(kù)的響應(yīng)速度也會(huì)產(chǎn)生很大影響。因此,應(yīng)該把日志文件放到速度比較快的磁盤(pán)上,以減少磁盤(pán) I/O 開(kāi)銷(xiāo)。日志文件寫(xiě)入的性能可以通過(guò)平均寫(xiě)時(shí)間來(lái)觀察。另外,我們可以通過(guò)調(diào)整數(shù)據(jù)庫(kù)配置參數(shù) LOGBUFSZ 來(lái)指定日志緩沖區(qū)的大小。如果數(shù)據(jù)庫(kù)對(duì)于日志磁盤(pán)有相當(dāng)多的讀操作,或者希望有較高的磁盤(pán)利用率。一般來(lái)說(shuō),如果日志緩沖區(qū)的命中率小于 98%,那么可以增加這個(gè)緩沖區(qū)的大小以提高命中率。當(dāng)增加這個(gè)參數(shù)的值時(shí),也要考慮 DBHEAP 參數(shù),日志緩沖區(qū)使用的空間是 DBHEAP 參數(shù)所定義的內(nèi)存空間的一部分。數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息監(jiān)控概念數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息反映了表及其相關(guān)索引的物理特點(diǎn)。統(tǒng)計(jì)信息主要包含: 表信息:表的行數(shù),使用的數(shù)據(jù)頁(yè),溢出的行數(shù),列的平均長(zhǎng)度,列的最大最小值等。 索引信息:索引條目的數(shù)量,索引所關(guān)聯(lián)列的不同值的數(shù)量,索引的層數(shù)等。這些信息被數(shù)據(jù)庫(kù)查詢優(yōu)化器用來(lái)生成查詢計(jì)劃。好的訪問(wèn)計(jì)劃對(duì)于 SQL 語(yǔ)句的快速執(zhí)行至關(guān)重要。我們需要想辦法保證統(tǒng)計(jì)信息準(zhǔn)確地反映了當(dāng)前數(shù)據(jù)庫(kù)的狀況。由于數(shù)據(jù)庫(kù)的表和索引總是隨著數(shù)據(jù)庫(kù)處理各種更新請(qǐng)求而不斷發(fā)生變化的,因此,總會(huì)出現(xiàn)統(tǒng)計(jì)信息過(guò)時(shí),而不能正確反映數(shù)據(jù)庫(kù)數(shù)據(jù)現(xiàn)狀的情況。這時(shí),數(shù)據(jù)庫(kù)查詢優(yōu)化器生成的查詢計(jì)劃可能不是最優(yōu)的,這將大大影響數(shù)據(jù)庫(kù)的查詢性能。我們應(yīng)該經(jīng)常檢查數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息是否為最新的,并及時(shí)更新統(tǒng)計(jì)信息。SAP 系統(tǒng)為我們提供了監(jiān)控和執(zhí)行統(tǒng)計(jì)信息收集的方法。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Tables, 在 Table 列表中雙擊要監(jiān)控的表,在 Table 的標(biāo)簽中,我們可以看到當(dāng)前表的基本信息。這時(shí),如果我們點(diǎn)擊 Count 按鈕,就會(huì)看到統(tǒng)計(jì)信息的質(zhì)量。圖9. 表的統(tǒng)計(jì)信息狀況從圖中我們看到,表的當(dāng)前行數(shù)為 27,Deviation 為 8%。分析如果我們監(jiān)控到一個(gè)表的 Deviation 超過(guò)了 15%,我們就應(yīng)該重新收集這個(gè)表的統(tǒng)計(jì)信息。在 SAP 中我們可以選擇手動(dòng)收集統(tǒng)計(jì)信息。我們也可將系統(tǒng)配置成自動(dòng)收集統(tǒng)計(jì)信息,這樣大大減少了系統(tǒng)手動(dòng)維護(hù)的工作量。自動(dòng)統(tǒng)計(jì)信息收集通常每隔 2 個(gè)小時(shí)觸發(fā)一次,它會(huì)自動(dòng)選擇在 24 小時(shí)之內(nèi)沒(méi)有收集過(guò)統(tǒng)計(jì)信息的持久的基表。如果 SAP 系統(tǒng)進(jìn)行 Client Copy 或在 BI 表中加載大量數(shù)據(jù),由于這些操作在短時(shí)間就可以改變表的數(shù)據(jù)狀況及分布,因此會(huì)導(dǎo)致統(tǒng)計(jì)信息的過(guò)時(shí)。在 DB2 V9.5 中,為了解決這個(gè)問(wèn)題,提供了一種 RTS (Real Time Statistics) 的特性,該特性可以允許在查詢被處理并優(yōu)化前對(duì)表的統(tǒng)計(jì)信息進(jìn)行收集或采樣,如果優(yōu)化器認(rèn)為重新收集統(tǒng)計(jì)信息比用過(guò)時(shí)的統(tǒng)計(jì)信息進(jìn)行查詢的速度快,那么會(huì)在處理該查詢之前重新收集表的統(tǒng)計(jì)信息,從而達(dá)到實(shí)時(shí)收集統(tǒng)計(jì)信息的目的。我們一般需要將數(shù)據(jù)庫(kù)配置參數(shù) AUTO_STMT_STATS 設(shè)為 ON 來(lái)開(kāi)啟 RTS 特性,但在 SAP 系統(tǒng)中,RTS 已經(jīng)是默認(rèn)設(shè)置,我們無(wú)需進(jìn)行任何改變。回頁(yè)首結(jié)束語(yǔ)本文從數(shù)據(jù)庫(kù)問(wèn)題檢測(cè)的一般思路和方法論出發(fā),介紹了如何通過(guò) SAP 系統(tǒng)對(duì) DB2 的性能進(jìn)行監(jiān)控。

網(wǎng)站設(shè)計(jì)制作過(guò)程拒絕使用模板建站;使用PHP+MYSQL原生開(kāi)發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了十多年的創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
SAP的優(yōu)點(diǎn):
領(lǐng)先能力——品牌知名度高; 品牌美譽(yù)度較好;公司實(shí)力較強(qiáng),管理軟件涉及比較全面,不止單單局限于CRM;
產(chǎn)品能力——產(chǎn)品線很完整,功能很強(qiáng)大,在移動(dòng)終端的支持方面做得較好;
服務(wù)能力——實(shí)施方法論非常成熟,項(xiàng)目管理和軟件實(shí)施的專(zhuān)業(yè)性很強(qiáng);
價(jià)值回報(bào)——大型企業(yè)客戶較多,投資回報(bào)比較高。
SAP的缺點(diǎn):
CRM專(zhuān)業(yè)實(shí)施人員較少,專(zhuān)業(yè)的CRM合作伙伴較少;
系統(tǒng)復(fù)雜,造成維護(hù)不方便、復(fù)雜,尤其是現(xiàn)場(chǎng)服務(wù)缺乏;
價(jià)格較貴,實(shí)施服務(wù)和維護(hù)服務(wù)價(jià)格較高。?
SAP 客戶關(guān)系管理 (SAP CRM),既能幫助您解決迫在眉睫的問(wèn)題(即降低成本和提高決策能力),又能幫助您的公司實(shí)現(xiàn)差異化,以獲得長(zhǎng)期的競(jìng)爭(zhēng)優(yōu)勢(shì),這是SAP CRM產(chǎn)品對(duì)自己的定位要求,為適應(yīng)競(jìng)爭(zhēng)環(huán)境,產(chǎn)品在不斷完善,企業(yè)在不斷發(fā)展。
SAP系統(tǒng)就是當(dāng)前最具影響力,代表智能性、先進(jìn)性、可持續(xù)性的企業(yè)管理系統(tǒng)。全球77%的交易收入都與SAP系統(tǒng)有關(guān),SAP(思愛(ài)普)是ERP的代名詞,是全球最大的企業(yè)管理和協(xié)同化商務(wù)解決方案供應(yīng)商、全球第二大云公司,在中國(guó)已經(jīng)有超過(guò) 16,100 多家客戶。
SAP系統(tǒng)是先進(jìn)性的代表。目前,SAP已經(jīng)深入到各個(gè)行業(yè)以及領(lǐng)域,其中使用SAP最具代表的企業(yè)有Microsoft、Pfizer, Inc.、IBM等,國(guó)內(nèi)的比如中國(guó)石油,甚至于銀行管理系統(tǒng)都運(yùn)用到SAP系統(tǒng),可以預(yù)見(jiàn)SAP系統(tǒng)的先進(jìn)性,以及前瞻性。先進(jìn)代表的不僅僅只是當(dāng)前,也包括未來(lái)10年之內(nèi),系統(tǒng)的性能與數(shù)據(jù)處理模式都適應(yīng)當(dāng)代的發(fā)展模式。對(duì)于這一點(diǎn),很多傳統(tǒng)的erp系統(tǒng)都做不到,很多行業(yè)都是一個(gè)系統(tǒng)多用,基本的開(kāi)發(fā)模式都已經(jīng)限定好,可塑性不強(qiáng)。
SAP系統(tǒng)是智能性管理系統(tǒng)代表。這里還是拿傳統(tǒng)型erp系統(tǒng)進(jìn)行對(duì)比,有對(duì)比才能凸顯SAP系統(tǒng)的智能化。我們都知道erp系統(tǒng)是一種數(shù)據(jù)交互行為,傳統(tǒng)的erp數(shù)據(jù)比較死板,基本上不存在對(duì)數(shù)據(jù)的分析,簡(jiǎn)單的調(diào)用與輸入輸出基本構(gòu)成數(shù)據(jù)的參數(shù)。而SAP系統(tǒng)卻出基本的輸入輸出操作之外,還有自主檢測(cè)成本,根據(jù)企業(yè)的管理模式輸出合理的結(jié)果。比如倉(cāng)儲(chǔ),進(jìn)貨量與每月銷(xiāo)售量的對(duì)比,從而得出最佳的庫(kù)存數(shù)據(jù),防止積壓貨物。智能性使用過(guò)SAP系統(tǒng)的企業(yè)可以明顯體會(huì)出來(lái),所以這也是企業(yè)追逐SAP人才的根本原因。
是一個(gè)erp系統(tǒng),sap公司的
下面是他的某一個(gè)版本的介紹
SAP R/3軟件具備以下功能和主要特點(diǎn):
功能性:R/3以模塊化的形式提供了一整套業(yè)務(wù)措施,其中的模塊囊括了全部所需要的業(yè)務(wù)功能并把用戶與技術(shù)性應(yīng)用軟件相聯(lián)而形成一個(gè)總括的系統(tǒng),用于公司或企業(yè)戰(zhàn)略上和運(yùn)用上的管理。
集成化: R/3把邏輯上相關(guān)聯(lián)的部分連接在一起。重復(fù)工作和多余數(shù)據(jù)被完全取消,規(guī)程被優(yōu)化,集成化的業(yè)務(wù)處理取代了傳統(tǒng)的人工操作。
靈活性:R/3系統(tǒng)中方便的裁剪方法使之具有靈活的適應(yīng)性,從而能滿足各種用戶的需要和特定行業(yè)的要求。R/3還配備有適當(dāng)?shù)慕缑鎭?lái)集成用戶自己的軟件或外來(lái)的軟件。
開(kāi)放性:R/3的體系結(jié)構(gòu)符合國(guó)際公認(rèn)的標(biāo)準(zhǔn),使客戶得以突破專(zhuān)用硬件平臺(tái)及專(zhuān)用系統(tǒng)技術(shù)的局限。同時(shí),SAP提供的開(kāi)放性接口,可以方便地將第三方軟件產(chǎn)品有效地集成到R/3系統(tǒng)中來(lái)。
用戶友好:圖標(biāo)與圖形符號(hào)簡(jiǎn)化了人機(jī)交互時(shí)的操作。統(tǒng)一設(shè)計(jì)的用戶界面確保了工作人員能夠運(yùn)用同樣的熟悉的技術(shù)從事不通的工作。
模塊化:R/3的模塊結(jié)構(gòu)使用戶既可以一個(gè)一個(gè)的選用新的實(shí)用程序,也可以完全轉(zhuǎn)入一個(gè)新的組織結(jié)構(gòu)體系。
可靠:作為用戶的商業(yè)伙伴SAP始終不斷地為集成化軟件的質(zhì)量設(shè)立越來(lái)越多的國(guó)際標(biāo)準(zhǔn)。
低成本高效益:信息處理是取得競(jìng)爭(zhēng)優(yōu)勢(shì)的要點(diǎn)之一。當(dāng)競(jìng)爭(zhēng)加劇時(shí),企業(yè)必須更加努力地獲取其市場(chǎng)占有量。這就要使用高度集成化的數(shù)據(jù)處理軟件,而R/3正是這種軟件的優(yōu)秀典范。
國(guó)際適用:R/3支持多種語(yǔ)言,而且是為跨國(guó)界操作而設(shè)計(jì)的。R/3可以靈活地適應(yīng)各國(guó)的貨幣及稅物要求。
服務(wù):R/3系統(tǒng)實(shí)施過(guò)程中,用戶將得到SAP技術(shù)專(zhuān)家的全面支持與服務(wù),包括組織結(jié)構(gòu)方面與技術(shù)方面的咨詢,項(xiàng)目計(jì)劃與實(shí)施方面的協(xié)助,以及培訓(xùn)課程。
★生產(chǎn)計(jì)劃和控制
★銷(xiāo)售與分銷(xiāo)
★物料管理
★財(cái)務(wù)會(huì)計(jì)
★管理會(huì)計(jì)
★資產(chǎn)管理
★系統(tǒng)技術(shù)基礎(chǔ)
實(shí)在不好意思,這個(gè)SAP自己也不是很明白,只能在網(wǎng)上找到這個(gè),希望你幫到你的忙,但是有一點(diǎn)要說(shuō)下,絕對(duì)不是看也不看就拿過(guò)來(lái)的,絕對(duì)是你需要的,也是希望你能有更多的了解。其實(shí)這樣的問(wèn)題上百度上有許多,自己找找效果可能會(huì)更好!
分享題目:包含sap系統(tǒng)性能分析的詞條
URL標(biāo)題:http://www.chinadenli.net/article4/dopjeoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站改版、網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)