應用系統(tǒng)生命周期和Oracle數(shù)據(jù)庫優(yōu)化,你明白了嗎?
昨天發(fā)文后有朋友問能否把文中所說的文章共享一下。雖然文章寫于2006年,快20年了,我想其中的某些觀點和案例可能對現(xiàn)在的您也還有些幫助。就發(fā)出來分享一下吧。文章有點長,6000多字,感興趣的可以先收藏一下慢慢看吧。
應用系統(tǒng)生命周期和Oracle數(shù)據(jù)庫優(yōu)化
Oracle數(shù)據(jù)庫優(yōu)化是Oracle管理工作中的最重要和最復雜的工作之一。由于數(shù)據(jù)庫不是孤立的數(shù)據(jù)庫,而是和一些應用具有緊密關系的,數(shù)據(jù)庫往往是應用系統(tǒng)中最關鍵的部分,因此數(shù)據(jù)庫的優(yōu)化不能完全脫離應用而進行。實踐證明,數(shù)據(jù)庫管理維護人員與應用開發(fā)者的合作越好,數(shù)據(jù)庫的優(yōu)化越成功。
另外,數(shù)據(jù)庫優(yōu)化是從應用系統(tǒng)開始規(guī)劃到應用系統(tǒng)退役整個過程中都在不斷進行的,因此,數(shù)據(jù)庫優(yōu)化是一個長期的工作。很多用戶會希望通過一次優(yōu)化就達到一勞永逸的效果,而沒有樹立數(shù)據(jù)庫優(yōu)化工作長期性的觀念,這樣往往會導致數(shù)據(jù)庫在長期的系統(tǒng)運行過程中沒有得到必要的維護,以至于一旦發(fā)生問題,將會造成很大的損失。
很多人認為數(shù)據(jù)庫優(yōu)化是系統(tǒng)投入使用后DBA的主要工作,其實數(shù)據(jù)庫優(yōu)化是一個貫穿于應用系統(tǒng)整個生命周期的長期工作,數(shù)據(jù)庫優(yōu)化應該從需求調(diào)研和需求分析開始。從另一個方面講,數(shù)據(jù)庫優(yōu)化也不僅僅是DBA的工作,而是需要全員參與的(業(yè)務人員、開發(fā)人員、DBA甚至項目和用戶的領導層)。
數(shù)據(jù)庫優(yōu)化需要全員參與和貫穿整個開發(fā)過程,很多沒有應用開發(fā)經(jīng)驗的DBA可能很難理解這一點,而這一點是數(shù)據(jù)庫優(yōu)化工作中最關鍵的一點。比如說,具有豐富開發(fā)經(jīng)驗的項目管理者都清楚,改變用戶的操作習慣是一種十分困難的事情,而在用戶沒有形成習慣之前灌輸一種操作方法要容易得多。因此在需求調(diào)研的時候說服用戶不要使用那些對數(shù)據(jù)庫開銷十分大的操作方式,可以大大減少用戶不適當操作而引起的對系統(tǒng)的開銷。在需求調(diào)研和分析階段要實現(xiàn)這一點,僅僅依靠應用開發(fā)人員是不夠的,這就要求DBA或者有數(shù)據(jù)庫優(yōu)化經(jīng)驗的開發(fā)者在這個階段就介入系統(tǒng)的開發(fā)工作,在必要的時候,甚至需要得到高層領導的支持。在軟件開發(fā)和應用的各個階段中,應該注意以下的問題:
l在需求開發(fā)階段,數(shù)據(jù)庫優(yōu)化的目的是說服業(yè)務人員接受對數(shù)據(jù)庫影響比較小的操作習慣,而放棄那些對數(shù)據(jù)庫性能有致命影響的操作習慣
l在系統(tǒng)應用架構(gòu)設計階段,采用對數(shù)據(jù)庫優(yōu)化比較有利的應用體系架構(gòu)。采用2層還是三層架構(gòu),使用B/S方式還是C/S方式,采用瘦客戶端還是胖客戶端,客戶端和服務器之間數(shù)據(jù)交換的報文的格式和內(nèi)容組織方式等都會影響數(shù)據(jù)庫訪問的性能
- 在系統(tǒng)邏輯設計階段,定義合理的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作方式
- 在物理設計階段,設計合理的表和索引的物理存儲結(jié)構(gòu)
- 在編碼階段,編寫效率比較高的SQL和PL/SQL
- 在系統(tǒng)測試階段,對于關鍵業(yè)務進行完整的壓力測試和系統(tǒng)性能評估,找出系統(tǒng)的瓶頸,盡快改進應用
- 在系統(tǒng)試運行階段,DBA實時監(jiān)控數(shù)據(jù)庫的情況,及時發(fā)現(xiàn)數(shù)據(jù)庫存在的問題,及時進行調(diào)整。對于應用中存在的性能問題,及時發(fā)現(xiàn),并及時通知開發(fā)人員改進,并對改進后的應用進行測試評估
l在系統(tǒng)運行階段:系統(tǒng)投入正式運行后,數(shù)據(jù)庫的優(yōu)化工作還是十分艱巨的工作。DBA需要定期對數(shù)據(jù)庫進行分析,找出目前系統(tǒng)消耗資源最大的對象,并找出改進的方法,進行改進。DBA還需要定期進行行鏈消除、索引重建、表空間碎片整理、歷史數(shù)據(jù)備份整理和系統(tǒng)分析等工作
需求開發(fā)階段的數(shù)據(jù)庫優(yōu)化
需求開發(fā)分為客戶需求獲取、需求分析兩個階段,最終產(chǎn)品為軟件需求規(guī)格書(SRS)。在傳統(tǒng)的概念中,這個需求開發(fā)和數(shù)據(jù)庫優(yōu)化是風馬牛不相及的事情,而這個階段往往是對系統(tǒng)性能優(yōu)化最為關鍵的階段。在這個階段主要考慮的是軟件的功能需求,而這些需求中,可能存在一些對系統(tǒng)性能影響極大的需求。操作習慣、界面風格、統(tǒng)計方法等都會影響數(shù)據(jù)庫的性能。
以下是一個真實的案例,某個系統(tǒng)在顯示主菜單的時候,需要顯示一些復雜的實時統(tǒng)計分析結(jié)果,而這個統(tǒng)計分析結(jié)果只有很少數(shù)的人會真正關心,由于這個系統(tǒng)有幾百個用戶在使用,而主菜單是進入每個模塊的必經(jīng)之路,因此系統(tǒng)運行一段時間后,就出現(xiàn)了CPU方面的瓶頸。為了解決這個問題,DBA想盡了一切方法對SQL進行優(yōu)化,但是收效甚微。最后深圳九鼎云州新創(chuàng)科技有限公司的優(yōu)化專家提出了一個方案,重新修改了主菜單的界面,缺省情況下不顯示實時統(tǒng)計結(jié)果,而只是提供一個顯示實時統(tǒng)計結(jié)果的鏈接。而對于需要每次顯示主菜單都顯示實時統(tǒng)計結(jié)果的用戶,只需要在自己的PROFILE中設置該選項就可以了。主菜單修改后,使用實時統(tǒng)計的用戶只有1%左右,CPU的瓶頸問題也就迎刃而解了。
上述這種優(yōu)化如果在需求分析階段就能夠完成,那么可以避免很多問題,而事實上類似的故事在不停的重演。究其原因,主要是參與需求開發(fā)的人員往往是業(yè)務人員和軟件開發(fā)人員,這些人員缺乏數(shù)據(jù)庫優(yōu)化的基本知識和經(jīng)驗,無法從需求中發(fā)現(xiàn)隱含的性能問題。因此在需求開發(fā)階段,專業(yè)的數(shù)據(jù)庫優(yōu)化人員的介入是十分重要的,具有數(shù)據(jù)庫優(yōu)化經(jīng)驗和軟件開發(fā)經(jīng)驗的DBA可以在這個階段就及時發(fā)現(xiàn)對于性能影響較大的需求,并且尋求解決方案,引導客戶采用比較優(yōu)化的操作模式。因此在需求開發(fā)階段,“需求性能分析服務”是十分關鍵的服務。
需求性能分析服務是一種項目前期咨詢服務,在需求獲取階段或者需求設計階段,都可以使用。但是在不同的階段,對服務提供者的要求不同。能夠在需求獲取階段提供咨詢服務的服務提供者,需要既是Oracle的專家,又是應用開發(fā)的專家,同時還是業(yè)務方面的專家。對于在需求設計階段的咨詢服務提供者,在業(yè)務方面的要求略低。咨詢專家可以針對客戶需求,從數(shù)據(jù)庫性能的角度進行分析,對可能嚴重影響數(shù)據(jù)庫性能的需求,提出解決方案,甚至否決需求。咨詢專家的介入,會提高需求階段的工程質(zhì)量,為整個工程的最終順利實施提供保障。
系統(tǒng)設計階段的數(shù)據(jù)庫優(yōu)化
系統(tǒng)設計階段包括系統(tǒng)架構(gòu)設計、邏輯設計、物理設計等子階段。系統(tǒng)架構(gòu)對于數(shù)據(jù)庫的性能影響也是十分巨大的,采用不同的系統(tǒng)架構(gòu),對后續(xù)的設計和應用開發(fā)都具有十分大的影響,不合理的系統(tǒng)架構(gòu)甚至會造成項目的失敗。架構(gòu)設計人員往往缺乏數(shù)據(jù)庫優(yōu)化方面的經(jīng)驗,他們設計架構(gòu)的原則是根據(jù)業(yè)務和應用軟件開發(fā)來制定的,因此往往僅僅考慮了業(yè)務的拓展性以及應用開發(fā)的可控性,而過于靈活的應用架構(gòu)可能會最終導致嚴重的性能問題,甚至導致項目失敗。
加拿大某公司的供應鏈管理系統(tǒng)是全球排名前10名的供應鏈管理系統(tǒng),在中小型供應鏈管理系統(tǒng)中,十分具有競爭力。但是由于其架構(gòu)方面的原因,在大型企業(yè)和超大型企業(yè)中,一直無法得到很好的應用,其主要原因是架構(gòu)方面局限性,導致了在并發(fā)量較大的環(huán)境下,產(chǎn)生了嚴重的性能瓶頸。而這種性能瓶頸是無法調(diào)優(yōu)的,除非重新構(gòu)造整個系統(tǒng)。
在邏輯設計階段,需要進行數(shù)據(jù)模型的邏輯建模。作為一個具有十分豐富的邏輯設計經(jīng)驗的系統(tǒng)設計師來說,創(chuàng)建一套完美的符合第三范式的邏輯模型不是什么難事。但是從數(shù)據(jù)庫的性能角度來考慮,第三范式不一定是最佳的選擇,有時候為了避免性能問題,設計一定的冗余數(shù)據(jù),也是十分必要的。不幸的是系統(tǒng)設計師往往都不具有足夠的數(shù)據(jù)庫優(yōu)化經(jīng)驗,因此在這個階段也存在形成性能瓶頸的風險。
在物理設計階段,需要對數(shù)據(jù)庫進行物理建模。物理建模是決定系統(tǒng)性能的關鍵,IO負載如何均衡、如何避免行鏈、如何避免表空間碎片、如何創(chuàng)建合理的索引,等等,都需要在這個階段設計完成。在這個階段需要經(jīng)驗十分豐富的Oracle DBA和系統(tǒng)設計人員共同來完成。而事實上,在這個階段,往往缺乏有經(jīng)驗的DBA參與,普通應用軟件開發(fā)商的DBA是無法勝任這項工作的。
由于系統(tǒng)設計階段對最終系統(tǒng)的性能影響如此巨大,因此在系統(tǒng)設計階段需要一種綜合性的咨詢服務,也就是我們常說的“系統(tǒng)模型優(yōu)化服務”。
系統(tǒng)模型優(yōu)化服務是一種綜合性的服務,服務提供商需要對應用體系架構(gòu)、邏輯模型、物理模型進行綜合的分析,找出性能瓶頸,并根據(jù)系統(tǒng)要求,提出解決方案。為了更好地進行系統(tǒng)設計,系統(tǒng)模型優(yōu)化服務應該貫穿系統(tǒng)設計的全過程,包括:
- 數(shù)據(jù)庫性能優(yōu)化與系統(tǒng)設計培訓課程
- 應用系統(tǒng)架構(gòu)設計評審
- 應用系統(tǒng)邏輯模型評審
- 應用系統(tǒng)物理模型評審
軟件開發(fā)階段的數(shù)據(jù)庫優(yōu)化
如果在需求和設計階段避免了各種性能瓶頸,那么應用軟件開發(fā)階段的性能優(yōu)化工作就會輕松很多。但是由于軟件開發(fā)階段涉及的人員較多,并且每個開發(fā)人員的能力有所不同,因此在這個階段也是容易造成性能問題擴散的主要階段。這個階段產(chǎn)生的性能問題往往是分散的,集中于某些不夠優(yōu)化的SQL代碼。其修復的代價也低于前面兩個階段。在應用軟件開發(fā)階段,“應用開發(fā)性能優(yōu)化套餐”可以幫助應用開發(fā)商避免性能問題,套餐內(nèi)容包括:
- SQL與數(shù)據(jù)庫性能培訓課程
- PL/SQL性能優(yōu)化培訓課程
- 專職DBA服務
專職DBA服務的主要內(nèi)容是派遣專職的DBA參與開發(fā),該DBA的主要任務是幫助開發(fā)人員分析SQL的性能并協(xié)助進行SQL優(yōu)化。專職DBA的另外一個職能是對大型SQL進行審核,沒有通過審核的SQL必須在開發(fā)階段進行優(yōu)化改造。有了專職DBA的參與,可以在開發(fā)階段減少大量的性能瓶頸。
系統(tǒng)測試階段的數(shù)據(jù)庫優(yōu)化
如果在前面的各個階段,都已經(jīng)對數(shù)據(jù)庫的性能進行了優(yōu)化,那么系統(tǒng)測試階段是解決遺留系統(tǒng)性能問題的最佳階段,由于系統(tǒng)開發(fā)已經(jīng)完成,因此集成測試和系統(tǒng)測試成為可能,很多在系統(tǒng)測試階段才可能暴露出來的性能問題可以得到充分的暴露,而且由于系統(tǒng)還沒有正式上線,因此系統(tǒng)調(diào)整和優(yōu)化的代價也很小。
在實際情況中,測試階段大家的主要精力都集中在解決軟件BUG方面,往往忽視了對系統(tǒng)性能和數(shù)據(jù)庫性能的測試。由于開發(fā)隊伍缺乏壓力測試的能力,因此壓力測試往往被省略了。這些省略的后果往往就是系統(tǒng)上線后產(chǎn)生嚴重的性能問題。在系統(tǒng)測試階段,“壓力測試服務”和“系統(tǒng)性能評估服務”是兩種十分重要的服務。
壓力測試服務是服務公司為客戶提供的專業(yè)的測試服務,可以根據(jù)客戶應用的特點,建立一套模擬的數(shù)據(jù)和模擬的業(yè)務運行環(huán)境,并在這個環(huán)境中獲得第一手的系統(tǒng)性能參數(shù),找到隱藏的性能瓶頸。以便于客戶在上線前解決存在的性能隱患。
系統(tǒng)性能評估服務的目的是為客戶進行系統(tǒng)生命周期中的性能預估,可以根據(jù)目前的情況,估算幾年后系統(tǒng)運行的情況,以及可能出現(xiàn)的系統(tǒng)瓶頸。評估報告可以讓客戶做出系統(tǒng)是否能夠上線的決策。也可以使客戶在系統(tǒng)運行生命周期內(nèi)進行系統(tǒng)升級和擴容的規(guī)劃。
某移動公司在開通彩鈴業(yè)務1年后,由于業(yè)務量發(fā)展十分迅速,導致系統(tǒng)性能出現(xiàn)嚴重的瓶頸,客戶投訴大幅度上升,甚至一度暫停新業(yè)務開戶,造成了重大的損失。因此,該移動公司在擴容彩鈴系統(tǒng)的時候,聘請了九鼎云州的咨詢?nèi)藛T,對系統(tǒng)進行性能評估,根據(jù)其業(yè)務發(fā)展的實際情況,對2年內(nèi)系統(tǒng)各項指標進行估算,找出不達標的指標,要求供應商改進。在評估過程中,九鼎云州的咨詢?nèi)藛T發(fā)現(xiàn)了系統(tǒng)中存在的大量性能隱患,及時幫助供應商解決了性能問題,該系統(tǒng)上線后,完全達到了移動公司的設計要求,取得了良好的效果。
系統(tǒng)運行階段的數(shù)據(jù)庫優(yōu)化
系統(tǒng)運行階段的數(shù)據(jù)庫優(yōu)化是傳統(tǒng)意義上的數(shù)據(jù)庫優(yōu)化范疇的工作。當系統(tǒng)正式上線后,系統(tǒng)的優(yōu)化往往受到很多的限制,因此優(yōu)化的手段也較前幾個階段少,優(yōu)化的成本也大大增加。在系統(tǒng)運行階段,往往是由于缺乏嚴格的日常維護,因此很多系統(tǒng)性能隱患沒有及時發(fā)現(xiàn),等到發(fā)現(xiàn)問題的時候,往往已經(jīng)錯過了解決問題的最好時機,并且由于生產(chǎn)系統(tǒng)給問題解決的時間有限,往往造成解決問題的時間嚴重不足。
為了避免上述問題的出現(xiàn),在系統(tǒng)運行階段,加強系統(tǒng)日常的監(jiān)控和維護是十分必要的。在這個階段,大量的咨詢服務公司提供了豐富的服務項目,九鼎云州也在長期的數(shù)據(jù)庫維護工作中,和客戶一起,不斷完善服務的種類和內(nèi)容,以滿足客戶日益增長的IT服務需求。以下是幾種特別貼近企業(yè)級用戶的服務。
現(xiàn)場和遠程在線護航服務:在系統(tǒng)繁忙的時段,咨詢?nèi)藛T在現(xiàn)場值守,協(xié)助解決問題。比如對于電信公司,在每個月月初的幾天,是出帳的繁忙期,在這幾天里,很容易出現(xiàn)一些突發(fā)性的性能問題,如果有專業(yè)DBA在現(xiàn)場支持,可以降低這幾天的業(yè)務風險?,F(xiàn)場護航服務的價格較為昂貴,因此對于資金不是十分充裕的客戶來說,選擇遠程在線護航服務是一種變通的做法,其效果和現(xiàn)場護航服務類似,但是可以節(jié)約大量的費用。
遠程離線護航服務:在線護航需要服務提供者能夠連到客戶的系統(tǒng)進行服務,由于種種原因(當然價格也是其中的因素之一),客戶無法使用在線服務,那么離線的遠程護航服務也是一種不錯的選擇。客戶可以把現(xiàn)場采集到的數(shù)據(jù),通過電子郵件發(fā)給服務提供商,由服務提供商的技術人員對這些數(shù)據(jù)進行離線分析,對于系統(tǒng)存在的問題,提出合理的建議。離線分析數(shù)據(jù)一般包括Statspack報告、awr報告、addm報告、以及服務提供商提供的專用采集腳本采集的數(shù)據(jù)。數(shù)據(jù)分析的周期可以是每天、每周或者每月。
某大型電器制造企業(yè)售后服務再造系統(tǒng)是一個十分龐大的業(yè)務系統(tǒng),平時在線使用的人數(shù)超過8000人,業(yè)務遍布全球。我們曾經(jīng)為其提供了有效的離線護航服務,每天現(xiàn)場技術人員會生成上午和下午高峰期間的STATSPACK報告,通過電子郵件發(fā)送給咨詢顧問。咨詢顧問每天對這些報告進行分析,及時把建議反饋給現(xiàn)場技術人員。在此期間,州通過STATSPACK報告的分析,協(xié)助現(xiàn)場技術人員解決了大量的性能問題。有一次九鼎云州的技術人員從STATSPACK報告中的某些指標,發(fā)現(xiàn)系統(tǒng)中可能有索引損壞了,通知現(xiàn)場人員的進行時候,現(xiàn)場技術人員還沒有發(fā)現(xiàn),只是發(fā)現(xiàn)今天某個業(yè)務模塊的投訴增加,經(jīng)過確認,確實是一個索引損壞,導致了某個業(yè)務走全表掃描,業(yè)務產(chǎn)生了積壓。
數(shù)據(jù)庫監(jiān)理服務:對數(shù)據(jù)庫建立一套日常監(jiān)控、數(shù)據(jù)自動采集和故障報警體系。這種服務需要相關的軟件配合,僅僅依靠人工是較難實現(xiàn)的。通過適當?shù)膽密浖?,可以幫助客戶建立客戶化的監(jiān)控平臺以及標準的監(jiān)控體系,幫助客戶實現(xiàn)數(shù)據(jù)庫監(jiān)控的簡單化、標準化和自動化。九鼎云州的數(shù)據(jù)庫綜合監(jiān)控與優(yōu)化服務套餐就是一種典型的數(shù)據(jù)庫監(jiān)理服務。對于企業(yè)用戶來說,數(shù)據(jù)庫監(jiān)理是一種規(guī)避風險的有效手段,通過對數(shù)據(jù)庫進行有效的監(jiān)理,可以提高系統(tǒng)的無故障運行時間,確保系統(tǒng)性能的穩(wěn)定。由于數(shù)據(jù)庫監(jiān)理的復雜性,需要服務提供者具有較強的綜合服務能力,并且有較強的業(yè)務背景,因此能夠?qū)嵤?shù)據(jù)庫監(jiān)理服務的服務提供商還十分少,這種服務在業(yè)界還少為人知。
圖片
數(shù)據(jù)庫監(jiān)理服務需要有一個強大的數(shù)據(jù)庫監(jiān)控平臺作為支撐,作為數(shù)據(jù)庫監(jiān)控平臺,應具有以下功能:
- 能夠集中管理分散的數(shù)據(jù)庫系統(tǒng),做到集中、實時地監(jiān)控并能夠在系統(tǒng)隱患發(fā)生前提供報警
- 具有獨特的高智能分析功能,可以使ORACLE數(shù)據(jù)庫發(fā)揮近乎極致的效率,并且是對于ORACLE數(shù)據(jù)庫的維護簡化為每天只需檢查生成的智能報告,查看是否有系統(tǒng)隱患產(chǎn)生。
- 如果有了系統(tǒng)隱患,可提供詳細的解決建議。
- 能夠完整保留歷史運行數(shù)據(jù),以提供將來故障定位、歷史分析時所需的數(shù)據(jù)
l在新業(yè)務上線時或系統(tǒng)優(yōu)化時,可以作為優(yōu)化、測試與調(diào)整的工具,幫助定位問題根源,提供容量使用情況,以作為決策的依據(jù)
通過數(shù)據(jù)庫監(jiān)理的服務,可以向用戶提供一種預防性的監(jiān)控管理方案:
- 通過集中管理、集中監(jiān)控的手段實現(xiàn)分散數(shù)據(jù)庫的簡單、有效、自動化管理
- 通過自動化的評價報告確定系統(tǒng)現(xiàn)存問題和準確現(xiàn)狀
- 進而通過專業(yè)的分析,定位系統(tǒng)瓶頸,并采取針對解決措施
- 提供調(diào)優(yōu)輔助,消除系統(tǒng)存在問題
- 確認調(diào)優(yōu)措施的實施效果,繼而重新確定系統(tǒng)存在的新問題和狀態(tài)。
當問題被發(fā)現(xiàn)后,具有實施能力的服務提供商可以及時為客戶提供合理的解決方案,并協(xié)助客戶消除隱患,解決問題。通過以上過程的不斷反復循環(huán),使系統(tǒng)的問題在萌芽狀態(tài)被發(fā)現(xiàn)并消除。使用戶每時每刻清晰的了解自己系統(tǒng)的運行狀況和存在的問題,并提示問題解決方案和系統(tǒng)運行管理建議。從而使用戶系統(tǒng)常年保持安全性和高效率的最佳平衡狀態(tài)。使用戶的設備投資獲得最大的經(jīng)濟收益。
數(shù)據(jù)遷移和數(shù)據(jù)重組服務:無論是出于性能的考慮還是其他原因,對于生產(chǎn)系統(tǒng)進行數(shù)據(jù)遷移和重組都是十分困難的,特別是針對于海量數(shù)據(jù)庫的數(shù)據(jù)遷移和重組。目前這類服務主要由IBM/HP/SUN/EMC等設備供應商提供,而由于設備供應商不是專業(yè)的數(shù)據(jù)庫服務提供者,因此在數(shù)據(jù)遷移和重組過程中,沒有充分考慮到數(shù)據(jù)庫優(yōu)化的需求,在進行數(shù)據(jù)遷移和重組的過程中喪失了一次極好的優(yōu)化機會。如果數(shù)據(jù)庫咨詢服務提供商和設備供應商共同來完成數(shù)據(jù)遷移和重組工作,那么可以在數(shù)據(jù)遷移和重組過程中,針對系統(tǒng)存在的IO方面的問題進行一次優(yōu)化,從而達到事半功倍的效果。
某聯(lián)通公司的數(shù)據(jù)庫性能出現(xiàn)問題,IO出現(xiàn)嚴重瓶頸。在其進行存儲擴容的時候,我們和HP的工程師一起對擴容后的存儲進行了合理的規(guī)劃,并根據(jù)目前的性能瓶頸,制定了合理的二次條帶方案。數(shù)據(jù)遷移后,IO瓶頸得到了徹底解決,數(shù)據(jù)庫的性能提高了2倍以上。