首頁>>>技術(shù)>>>計(jì)費(fèi)  計(jì)費(fèi)產(chǎn)品

湖南移動(dòng)通信公司業(yè)務(wù)運(yùn)營支持系統(tǒng)(BOSS SYSTEM)系統(tǒng)案例

Annie 2009/07/23

項(xiàng)目簡介(功能與用途):

  湖南移動(dòng)通信公司業(yè)務(wù)運(yùn)營支持系統(tǒng)(BOSS SYSTEM)系統(tǒng)是整合營業(yè)、計(jì)費(fèi)、結(jié)算、賬務(wù)、收費(fèi)等業(yè)務(wù),實(shí)現(xiàn)"以客戶為中心、業(yè)務(wù)的開發(fā)和管理面向客戶、網(wǎng)絡(luò)管理面向業(yè)務(wù)"的運(yùn)營原則,大大提高企業(yè)的營銷和服務(wù)水平的核心業(yè)務(wù)支撐系統(tǒng)。

項(xiàng)目難點(diǎn)與解決方案:

  BOSS系統(tǒng)從2003年初開始陸續(xù)上線,營帳系統(tǒng)在上線運(yùn)行后出現(xiàn)性能問題。主要表現(xiàn)在對(duì)最終用戶的交互響應(yīng)不如預(yù)期,尤其在業(yè)務(wù)繁忙時(shí)更是無法得到及時(shí)的交互響應(yīng)。從主機(jī)(AIX)系統(tǒng)上觀察,主要表現(xiàn)在系統(tǒng)的I/O等待較大。營帳系統(tǒng)是由業(yè)務(wù)應(yīng)用程序,Oracle數(shù)據(jù)庫,AIX主機(jī),IBM ESS存儲(chǔ)多個(gè)部分組成,因此性能瓶頸的定位和性能的優(yōu)化都比較復(fù)雜。

該項(xiàng)目的難點(diǎn)主要由以下幾點(diǎn)

  1. 湖南移動(dòng)通信BOSS SYSTEM系統(tǒng)是一個(gè)大型的復(fù)雜系統(tǒng)。在這個(gè)系統(tǒng)中從上至下包括以下幾個(gè)層次:應(yīng)用程序、數(shù)據(jù)庫、主機(jī)系統(tǒng)(操作系統(tǒng))、SAN網(wǎng)絡(luò)和ESS存儲(chǔ)系統(tǒng)。在發(fā)生系統(tǒng)的性能問題時(shí),性能問題的定位和調(diào)優(yōu)就很復(fù)雜。

  2. 數(shù)據(jù)庫容量大,整個(gè)數(shù)據(jù)容量有約2120GB,整個(gè)數(shù)據(jù)的遷移需要幾十個(gè)小時(shí)的時(shí)間,而在生產(chǎn)系統(tǒng)上是不允許有很長的停機(jī)時(shí)間進(jìn)行數(shù)據(jù)遷移。

  3. 湖南移動(dòng)BOSS系統(tǒng)是7×24的應(yīng)用,不允許停機(jī)。

  4. 應(yīng)用中部分SQL語句非常復(fù)雜,而且SQL語句的寫法和謂詞等方面使用不當(dāng),直接造成低效率的SQL運(yùn)行,占用系統(tǒng)I/O和內(nèi)存,需要找出這些SQL語句并對(duì)之進(jìn)行調(diào)整。

  5. 需要對(duì)Oracle數(shù)據(jù)庫部分參數(shù)作出調(diào)整。

  6. 需要對(duì)操作系統(tǒng)內(nèi)核參數(shù)作出調(diào)整。

  7. 需要對(duì)數(shù)據(jù)庫的數(shù)據(jù)在ESS存儲(chǔ)上的物理分布重新

對(duì)于上述問題,分別采用了如下解決方案

  1. 針對(duì)湖南移動(dòng)BOSS SYSTEM系統(tǒng)出現(xiàn)的性能問題,根據(jù)湖南移動(dòng)BOSS SYSTEM系統(tǒng)的實(shí)際應(yīng)用, 借助ESS Expert和Precise等性能監(jiān)測工具軟件,對(duì)主機(jī)系統(tǒng)和存儲(chǔ)進(jìn)行了監(jiān)控,調(diào)整和優(yōu)化,同時(shí)對(duì)Oracle數(shù)據(jù)庫和應(yīng)用系統(tǒng)提出調(diào)優(yōu)建議。

  項(xiàng)目分為以下幾個(gè)階段:

  一般的調(diào)優(yōu)策略如下:

  在湖南移動(dòng)的調(diào)優(yōu)中,在數(shù)據(jù)庫的設(shè)計(jì)和應(yīng)用設(shè)計(jì)不做更改的前提下,首先,對(duì)IBM存儲(chǔ)系統(tǒng)和主機(jī)系統(tǒng)作深入細(xì)致的參數(shù)和配置調(diào)整。同時(shí),在湖南移動(dòng)計(jì)費(fèi)中心技術(shù)人員的全力配合下,對(duì)ESS存儲(chǔ)系統(tǒng)上的數(shù)據(jù)分布作了大規(guī)模的調(diào)整,并且通過Precise軟件對(duì)Oracle數(shù)據(jù)庫性能參數(shù)的監(jiān)控,定位對(duì)系統(tǒng) CPU, I/O等資源消耗嚴(yán)重的瓶頸,對(duì)Oracle數(shù)據(jù)庫和應(yīng)用系統(tǒng)提出性能調(diào)優(yōu)建議。

  2.針對(duì)應(yīng)用的性能狀況,修改Oracle的性能參數(shù)。

  cursor_sharing的值從exact改為force, 減少internal lock wait.

  spin_count的值從2000調(diào)整到5000。

  3.調(diào)整數(shù)據(jù)在ESS上的分布。

  首先將數(shù)據(jù)平均地分布在兩個(gè)cluster上,之后將數(shù)據(jù)分布在盡可能多的通道上。

  由于整個(gè)數(shù)據(jù)容量有約2120GB,整個(gè)數(shù)據(jù)的遷移需要幾十個(gè)小時(shí)的時(shí)間,而在生產(chǎn)系統(tǒng)上是不允許有很長的停機(jī)時(shí)間進(jìn)行數(shù)據(jù)遷移。

  根據(jù)多個(gè)方案的論證對(duì)比,決定采用邏輯卷鏡像的方案實(shí)施數(shù)據(jù)遷移。具體的步驟是先將所有的邏輯卷在目的的硬盤上建立鏡像、同步數(shù)據(jù)、再將原硬盤上的鏡像部分刪除。整個(gè)數(shù)據(jù)遷移工作全部在系統(tǒng)的后臺(tái)進(jìn)行,共進(jìn)行了60個(gè)小時(shí),完成所有數(shù)據(jù)遷移。

  4.對(duì)操作系統(tǒng)內(nèi)核參數(shù)作出調(diào)整

  5.檢查資源消耗最大語句的邏輯設(shè)計(jì)。

  建立合適的分區(qū)索引

  將排名靠前語句的表數(shù)據(jù)與索引分別存儲(chǔ)。

  提高資源消耗靠前語句的并行度。

  Oracle 的參數(shù)cursor_sharing設(shè)為force減少internal lock wait

  調(diào)整Latch的數(shù)量(如DB_BLOCK_LRU_LATCHES)或內(nèi)存的一些參數(shù)(如SHARED_POOL_SIZE等)解決內(nèi)部鎖問題。

  6.由于數(shù)據(jù)存儲(chǔ)調(diào)整后,系統(tǒng)I/O性能狀況良好,系統(tǒng)和存儲(chǔ)端的性能表現(xiàn)已調(diào)整至最佳,系統(tǒng)和存儲(chǔ)端的性能調(diào)優(yōu)工作已經(jīng)完成。建議客戶下一步的工作重點(diǎn)是解決應(yīng)用系統(tǒng)的性能瓶頸,結(jié)合Precise對(duì)應(yīng)用的監(jiān)控結(jié)果,檢查應(yīng)用的邏輯設(shè)計(jì),數(shù)據(jù)索引的建立和分布。協(xié)助應(yīng)用開發(fā)商修改應(yīng)用。

  7.調(diào)整操作系統(tǒng)交換空間(page space)。

  項(xiàng)目成功與失敗的經(jīng)驗(yàn)歸納:

在湖南移動(dòng)BOSS系統(tǒng)的性能調(diào)優(yōu)中,項(xiàng)目的成功經(jīng)驗(yàn)有以下幾點(diǎn):

  1. 數(shù)據(jù)庫前期的合理的架構(gòu)設(shè)計(jì)(物理設(shè)計(jì)和邏輯設(shè)計(jì))是整個(gè)項(xiàng)目成敗的關(guān)鍵,合理的架構(gòu)設(shè)計(jì)為整個(gè)項(xiàng)目穩(wěn)定可靠高效運(yùn)行打下了良好的基礎(chǔ),同時(shí)也起到了事半功倍的作用。在湖南移動(dòng)BOSS系統(tǒng)中就是因?yàn)閿?shù)據(jù)庫在ESS物理存儲(chǔ)的不合理分布而直接導(dǎo)致了系統(tǒng)的I/O瓶頸。

  2. 根據(jù)系統(tǒng)的物理資源,對(duì)數(shù)據(jù)庫的配置參數(shù)和操作系統(tǒng)內(nèi)核參數(shù)做合理的調(diào)整,保證系統(tǒng)物理資源(CPU,I/O,內(nèi)存和網(wǎng)絡(luò))和邏輯資源(裸設(shè)備,文件系統(tǒng)等)合理的分布和應(yīng)用。

  3. 要善于借助于第三方的監(jiān)控軟件(如:StorWatch Expert和Precise軟件),這些軟件的運(yùn)用可以快速的定位性能瓶頸從而更快速的作出性能調(diào)整。

  4. 檢查資源消耗最大SQL語句的邏輯設(shè)計(jì),將排名靠前SQL語句的表數(shù)據(jù)與索引分別存儲(chǔ),建立合適的分區(qū)索引,提高資源消耗靠前SQL語句的并行度。很多性能瓶頸往往是由于“惡劣”的SQL造成的。

  5. 要有一個(gè)很好的性能調(diào)整流程和性能調(diào)整方法步驟,循序漸進(jìn),一步一步定位,逐步縮小范圍,知道最后定位性能瓶頸。

  6. 要善于團(tuán)隊(duì)合作,在整個(gè)性能調(diào)整中,我負(fù)責(zé)軟件調(diào)整,要和硬件調(diào)整,網(wǎng)絡(luò)調(diào)整的技術(shù)人員通力合作。

  7. 性能調(diào)整是全局的工作,涉及應(yīng)用開發(fā),中間件,數(shù)據(jù)庫,操作系統(tǒng),存儲(chǔ),網(wǎng)絡(luò)等。需要對(duì)全局的信息架構(gòu)有清晰的認(rèn)識(shí)。

  總結(jié):在湖南移動(dòng)BOSS系統(tǒng)的性能調(diào)整中,我是以IBM技術(shù)顧問身份參與性能調(diào)整的,主要負(fù)責(zé)對(duì)Oracle數(shù)據(jù)庫配置參數(shù)的調(diào)整;負(fù)責(zé)完成數(shù)據(jù)庫后期的性能 監(jiān)控,性能調(diào)優(yōu);負(fù)責(zé)檢查資源消耗最大SQL語句的邏輯設(shè)計(jì),將排名靠前SQL語句的表數(shù)據(jù)與索引分別存儲(chǔ),建立合適的分區(qū)索引,提高資源消耗靠前SQL 語句的并行度。負(fù)責(zé)在操作系統(tǒng)層面定位性能瓶頸(CPU,內(nèi)存,I/O和網(wǎng)絡(luò)瓶頸)并調(diào)整操作系統(tǒng)內(nèi)核參數(shù)。負(fù)責(zé)協(xié)助開發(fā)人員對(duì)應(yīng)用開發(fā)作出修改和SQL 性能調(diào)整。

中國計(jì)費(fèi)網(wǎng)


相關(guān)鏈接:
3G最好計(jì)費(fèi)方式是什么 2009-07-20
Amdocs:幫助運(yùn)營商構(gòu)建自己的應(yīng)用商店 2009-07-13
3G時(shí)代讓融合計(jì)費(fèi)更賦使命 2009-07-13
BOSS接口監(jiān)控及應(yīng)急解析 2009-07-10
3G元年:惠普軟件讓3G體驗(yàn)更美好 2009-07-06