




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1 性能保障方案1.1 從構(gòu)架設(shè)計解決系統(tǒng)性能問題一個好的構(gòu)架設(shè)計是保證系統(tǒng)今后可靠、 穩(wěn)定、高效運行的基礎(chǔ)。 從構(gòu)架設(shè) 計上考慮系統(tǒng)性能問題,其目標是保證如下指標:并發(fā)用戶數(shù)吞吐量可靠性性能即:讓系統(tǒng)更快更好地為更多的用戶提供服務(wù), 并且保證服務(wù)過程不會中斷。 為了達到以上指標,在設(shè)計中可以采用如下方案:1.1.1 構(gòu)架設(shè)計性能保障原則(1)面向性能的業(yè)務(wù)流程分析 明確性能問題在整個軟件生產(chǎn)與運行過程中的重要意義, 在考慮架構(gòu)分析與 設(shè)計的時候,出發(fā)點與指導原則是幫助用戶使用某種技術(shù)手段來高效地完成業(yè)務(wù) 流程,其本質(zhì)是 “高效的業(yè)務(wù)流程 ”,而不是一個計算機系統(tǒng)或計算機應用。在這 一原則之下
2、,我們的應用開發(fā)是圍繞著開發(fā)高效 業(yè)務(wù)流程”展開的,Java或其他 技術(shù)只是我們的一種技術(shù)手段而已。 避免由于具體的技術(shù)實現(xiàn)方案對業(yè)務(wù)流程分 析中的性能指標的束縛。(2)“化整為零 ”的領(lǐng)域模型設(shè)計領(lǐng)域模型分析與設(shè)計過程中, 抽取,抽象出穩(wěn)定的領(lǐng)域模型, 并且剝離出嚴 重影響系統(tǒng)性能的長事物處理與批量事物處理, 針對長事務(wù)處理采用 “化整為零” 的處理模式, 將集中式處理過程中的具體環(huán)節(jié)分散到日常的業(yè)務(wù)處理功能中, 對 于批量業(yè)務(wù)處理采用多線程并行獨立處理。 同時這種 “化整為零” 領(lǐng)域模型設(shè)計 在面對業(yè)務(wù)流程與模型的自然變化面前, 可以通過最少, 最小的程序變動, 降低 對應用性能的影響。(
3、3) 面向性能的架構(gòu)關(guān)鍵技術(shù)選型在架構(gòu)設(shè)計的時候要時刻圍繞著系統(tǒng)的 QoS 需求,并將這些需求轉(zhuǎn)化到Service的設(shè)計上,真正做到“面向性能的架構(gòu)關(guān)鍵技術(shù)選型”,如下內(nèi)容概述出在 架構(gòu)設(shè)計國政部分關(guān)鍵技術(shù)選擇是如何圍繞 “性能”進行考慮的。RIA(Rich In ternet Application)客戶端架構(gòu)在保證良好的用戶體驗的同時,處理UI界面的展現(xiàn)與渲染過程中充分利用客戶機的運算與處理能力。數(shù)據(jù)交互格式定義精簡的客戶端與應用服務(wù)器端數(shù)據(jù)交互格式, 在不丟失數(shù)據(jù)語義的同時, 盡 量降低在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)內(nèi)容。自動事物管理利用面向切面的技術(shù)進行事物管理的切入, 從而實現(xiàn)自動化的事物處理,
4、 避 免編程式事物導致的事物與數(shù)據(jù)庫連接問題并行處理并行處理是通過利用J2EE層執(zhí)行模式的多線程和多 CPU特點來提高性能。 與使用一個線程或 CPU 處理任務(wù)相比,以并行方式處理多個子任務(wù)可以使操作 系統(tǒng)在多個線程或處理器中進行分配這些子任務(wù)。異步處理異步處理只處理那些非常重要的任務(wù)部分,然后將控制立即返回給調(diào)用者, 其他任務(wù)部分將在稍后執(zhí)行。 異步處理是通過縮短那些在將控制返回給用戶之前 必須處理的時間來提高性能的。 雖然都做同樣多的事情, 但是用戶不必等到整個 過程完成就可以繼續(xù)發(fā)出請求了緩存機制緩存中存放著頻繁訪問的數(shù)據(jù), 在應用的整個生命周期中, 這些數(shù)據(jù)存放在 持久性存儲器或存放在
5、內(nèi)存中。 在實際環(huán)境中, 典型的現(xiàn)象是在分布式系統(tǒng)中每 個JVM中有一個緩存的實例或者在多個 JVM中有一個緩存的實例。緩存數(shù)據(jù)是 通過避免訪問持久性存儲器來提高性能的, 否則會導致過多的磁盤訪問和過于頻 繁網(wǎng)絡(luò)數(shù)據(jù)傳輸。 在架構(gòu)設(shè)計過程中, 針對待實現(xiàn)系統(tǒng)中的實際業(yè)務(wù)特色, 剖析 出客戶端與中間件中頻繁使用的但又很少變化的數(shù)據(jù)。 通過一些技術(shù)手段, 將這 些數(shù)據(jù)在合適的時機 (系統(tǒng)啟動,用戶登錄,第一次使用等 )以一定的數(shù)據(jù)結(jié)構(gòu)存 放客戶端或者中間件內(nèi)存中。 避免每一次使用都進行發(fā)送遠程調(diào)用請求或者數(shù)據(jù) 庫訪問,提高系統(tǒng)的運算與處理速度。資源池,對象池在應用系統(tǒng)運行過程中, 特別對于一個高并
6、發(fā)的應用系統(tǒng)資源的頻繁地創(chuàng)建 都一個高成本的動作, 在架構(gòu)設(shè)計過程中對數(shù)據(jù)庫連接, 業(yè)務(wù)邏輯組件等高并發(fā), 高成本的對象與資源采用池化技術(shù), 在應用系統(tǒng)啟動過程中以對象池, 資源池的 方式,初始化到池中,降低頻繁的創(chuàng)建與銷毀,同時也降低內(nèi)存碎片的產(chǎn)生(4)持續(xù)性的性能管理持續(xù)性的性能管理主要是指, 在系統(tǒng)構(gòu)建過程中持續(xù)性地性能測試。 持續(xù)性 能管理的前提條件是有一套完整定義的單元測試用例, 健壯的測試框, 以及明確 的,量化的性能需求。除了必不可少的單元測試,集成測試,壓力測試以外,持 續(xù)性的性能管理更突出了自動化測試的重要意義, 自動化方式可以創(chuàng)建重復的測 試過程并迅速報告應用代碼的質(zhì)量。
7、只有自動化方式才能保證正確地遵循這些測 試過程,并且保證準確和一致地測試應用組件。1.1.2 分層的設(shè)計方法分層應用是將組件等分隔到不同的層中, 每一層中的組件保持內(nèi)聚性, 并且 大致在同一抽象級別。 每一層都應與它下面的各層保持松散耦合, 避免使較低級 別依賴于較高級別。通過分層, 可以限制子系統(tǒng)間的依賴關(guān)系, 使系統(tǒng)以更松散的方式耦合, 從 而更易于維護。 分布式服務(wù)層依賴較低層, 但是較低層的細節(jié)不會顯示在包含應 用程序和業(yè)務(wù)邏輯層的較高層中。 應用程序開發(fā)人員在較高抽象級別工作時不必 考慮諸如 TCP/IP 數(shù)據(jù)包和網(wǎng)絡(luò)字節(jié)排序之類的細節(jié)。它還可以在替換較低層時 不對較高層造成任何影響
8、。采用從整體架構(gòu)層次來看,系統(tǒng)可分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層。見下圖:展現(xiàn)邏輯數(shù)據(jù)庫客戶端WebServerBrowser業(yè)務(wù)邏輯JSPDataBase圖1-1應用軟件層次架構(gòu)圖1)表示邏輯(客戶層)為第一層:它的主要功能是實現(xiàn)用戶交互和數(shù)據(jù)表示,為以后的處理收集數(shù)據(jù),向第二層的業(yè)務(wù)邏輯請求調(diào)用核心服務(wù)處理, 并顯 示處理結(jié)果。2)業(yè)務(wù)邏輯(服務(wù)器組件)為中間層:這些組件由中間件管理,實現(xiàn)核心 業(yè)務(wù)邏輯服務(wù)并將這些服務(wù)按名字廣播, 管理并接受客戶的服務(wù)請求,向資源管 理器提交數(shù)據(jù)操作,并將處理結(jié)果返回給請求者一一即客戶或其他服務(wù)器。3)數(shù)據(jù)(資源管理器)構(gòu)成模型的第三層。比如關(guān)系數(shù)據(jù)庫,
9、負責管理應 用系統(tǒng)的數(shù)據(jù)資源,完成數(shù)據(jù)操作。服務(wù)器組件在完成服務(wù)的過程中通過資源管 理器存取它管理的數(shù)據(jù),或者說請求資源管理器的數(shù)據(jù)服務(wù)。在三層客戶機/服務(wù)器模式上架構(gòu)的應用系統(tǒng)不但具備了大型機系統(tǒng)穩(wěn)定、 安全和處理能力高等特性,同時擁有開放式系統(tǒng)成本低、可擴展性強、開發(fā)周期 短等優(yōu)點。對于其中最關(guān)鍵的業(yè)務(wù)邏輯層,又可以分為控制框架層、業(yè)務(wù)組件層、數(shù)據(jù) 訪問層和相關(guān)資源層??刂瓶蚣軐庸芾順I(yè)務(wù)組件的裝配和調(diào)用,是業(yè)務(wù)邏輯層的核心引擎。業(yè)務(wù)組 件層集中了各種實現(xiàn)業(yè)務(wù)邏輯的組件;數(shù)據(jù)訪問層封裝對數(shù)據(jù)存儲的各類訪問操 作;相關(guān)資源層包括了各種相關(guān)應用支撐功能,如:緩存、對象池、線程池、消 息、日志等。
10、控制框架層與相關(guān)資源層構(gòu)成系統(tǒng)的分功能屬性部件,業(yè)務(wù)組件層和數(shù)據(jù)訪 問層構(gòu)成系統(tǒng)的功能屬性部件。通過系統(tǒng)分層,改變了傳統(tǒng)信息系統(tǒng)的大一統(tǒng)結(jié)構(gòu),區(qū)別系統(tǒng)的功能屬性與 非功能屬性,將不同的功能交給相應的功能組件來完成。 在單筆業(yè)務(wù)或者小用戶 量的情況下,分層的系統(tǒng)架構(gòu)并不具備優(yōu)勢,其關(guān)鍵優(yōu)勢在于對并發(fā)的大數(shù)據(jù)量 業(yè)務(wù)的響應和處理方面,通過在各層中合理的分布系統(tǒng)壓力,改變了傳統(tǒng)信息系 統(tǒng)壓力集中的缺點。同時,采用分層技術(shù)架構(gòu),可以根據(jù)系統(tǒng)性能的具體需求, 對不同的層次進行有針對性的優(yōu)化處理。1.1.3業(yè)務(wù)同步處理與異步處理相結(jié)合的系統(tǒng)體系架構(gòu)傳統(tǒng)的業(yè)務(wù)處理模式通常采用直接的請求 /應答方式進行同步處
11、理,在業(yè)務(wù) 高峰發(fā)生的時候,由于對資源的集中使用造成系統(tǒng)的響應速度急劇下降。通過在系統(tǒng)架構(gòu)中加入異步業(yè)務(wù)處理模式的支持,將一些業(yè)務(wù)通過異步方式放入工作隊 列中,在系統(tǒng)空閑的時候再從隊列中獲取工作任務(wù)進行處理,減少對資源的集中占用,保證在業(yè)務(wù)高峰期的系統(tǒng)響應性能。1.1.4緩存、池化技術(shù)的使用在實際業(yè)務(wù)處理過程中,數(shù)據(jù)庫訪問、網(wǎng)絡(luò)傳輸以及新建對象都是成本較高 的資源開銷,對于性能要求很高的業(yè)務(wù)系統(tǒng)來說,采用合理的技術(shù)減少高開銷的 資源訪問是必須考慮的內(nèi)容。采用緩存、池化技術(shù),將頻繁訪問的資源放在I/O性能較高的載體上,減少集中的和緩慢的I/O訪問,從而達到提高系統(tǒng)性能的目 的。圖1-2緩存、池化
12、技術(shù)1.1.5 分布式業(yè)務(wù)處理模式多層體系結(jié)構(gòu)將業(yè)務(wù)邏輯與數(shù)據(jù)存儲和顯示分開,使得系統(tǒng)層次更加分明, 系統(tǒng)魯棒性、 可擴充性、安全性得到大大提高, 同時它也使得分布式計算得到廣 泛應用,使得系統(tǒng)的性能由于采用分布式計算而大大提高。采用分布式計算有著多方面的技術(shù)優(yōu)勢,包括:邏輯封裝性這是分布式模式中最具誘惑力的特征, 這種模式將以往 C/S 結(jié)構(gòu)中全部由客 戶機完成的事務(wù)邏輯中的一部分從客戶端分開。 當使用戶需要動態(tài)改變一個應用 軟件的商業(yè)邏輯規(guī)則時, 只要改變一個應用服務(wù)器的程序即可, 而不需要更改客 戶端用戶界面, 這樣就無需中斷用戶, 為最終用戶重新發(fā)放新的界面軟件或親自 上門為其安裝調(diào)試
13、并重新培訓用戶, 提高了工作效率。這種多級模式對于需經(jīng)常、 快速改變應用程序的行業(yè)很有幫助。性能性能的提高是三級模式最終被用戶采用的主要原因。 將復雜的應用和商業(yè)邏 輯分離出來由專門的一臺或多臺應用服務(wù)器來處理, 既可以提高應用的執(zhí)行速度, 也可以減少網(wǎng)絡(luò)調(diào)用的通訊量。 不過這種性能提高是有一定代價的。 這就是開發(fā) 時要將應用邏輯分割為客戶端邏輯和服務(wù)器端邏輯,這就增加了設(shè)計的復雜性。安全性管理在分布式計算模式中, 由于所有的商業(yè)邏輯都駐留在服務(wù)器端, 信息管理部 門就可以十分方便地監(jiān)控服務(wù)器的運行情況, 很容易地控制訪問服務(wù)器以及與服 務(wù)器應用打交道人員的數(shù)量。 這可以大大簡化管理員對系統(tǒng)的
14、管理, 減輕系統(tǒng)維 護的工作量,并確保系統(tǒng)的可靠運行。針對金財工程的特點, 在構(gòu)架系統(tǒng)時, 應充分考慮分布式計算的特點, 在數(shù) 據(jù)大集中的模式, 通過應用服務(wù)器及其群集技術(shù), 將計算邏輯合理分布以保證系 統(tǒng)的性能。1.2從應用軟件解決系統(tǒng)性能問題1.2.1應用軟件的設(shè)計應基于構(gòu)件,盡量簡單化應用系統(tǒng)的設(shè)計應利用基于構(gòu)件的開發(fā)理念,增加程序代碼的可重用性。此外,程序應使用簡單的邏輯和算法來獲取結(jié)果, 避免復雜以及深層次的對象調(diào)用, 提高運行效率,以獲得快速的相應速度。1.2.2應用軟件應該以分階段的方式來構(gòu)件化已存在的遺留系統(tǒng)歷史遺留系統(tǒng)的重構(gòu)是高風險和大工作量的任務(wù),同時與遺留系統(tǒng)的業(yè)務(wù)和 數(shù)
15、據(jù)銜接是一個對應用軟件性能影響重大的環(huán)節(jié)。因此,最好以分階段的方式逐 步用新的構(gòu)件替換遺留系統(tǒng)的各個組成部分,以降低風險,減少工作量,逐步提高系統(tǒng)的相應速度。1.2.3應用軟件編寫的質(zhì)量直接關(guān)系到系統(tǒng)的性能。編程的質(zhì)量有經(jīng)驗的積累也有個人的技巧,在一個用軟件整個開發(fā)過程的指 導思想是:“按照規(guī)范來進行開發(fā),而不是按照個人習慣,應用服務(wù)器等其他因 素來進行開發(fā)”。與此相對應我公司專門針對開發(fā)工具以及使用的數(shù)據(jù)庫的特點 制定了相關(guān)規(guī)范,見下表:1Pascal編碼規(guī)范PR_C_2000_0012.Java編碼規(guī)范PR_C_2001_0023.PowerBuilder編碼規(guī)范PR_C_1999_003
16、4.Visual C+編碼規(guī)范PR_C_1999_0045.Visual Basic 編碼規(guī)范PR_C_1999_0056.數(shù)據(jù)庫服務(wù)器段軟件開發(fā)規(guī)范PR_C_2000_0067.Delphi編碼規(guī)范PR_C_2001_0078C+&C編碼規(guī)范PR_C_2001_008根據(jù)我們的經(jīng)驗,在多層體系結(jié)構(gòu)的業(yè)務(wù)應用系統(tǒng)(如電信、社保系統(tǒng))的 開發(fā)中,關(guān)鍵是數(shù)據(jù)庫的操作編程以及涉及到中間件的編程將對系統(tǒng)性能影響很 大。因此本節(jié)將從數(shù)據(jù)SQL和中間兩方面簡述應用軟件編程提高性能幾個注意點。1.2.4 應用軟件性能監(jiān)控 ,保障組件設(shè)計除了應用軟件本身的缺陷外,運行過程中業(yè)務(wù)模型的自然變化或人為更改
17、, 系統(tǒng)環(huán)境的改變, 以及應用軟件執(zhí)行過程中內(nèi)在的變化特性, 使得應用性能問題 在生產(chǎn)環(huán)境仍然普遍發(fā)生。 根據(jù)應用軟件的業(yè)務(wù)特點, 結(jié)合技術(shù)構(gòu)架的實現(xiàn)方案, 在應用軟件中實施與部署性能監(jiān)控, 分析組件,發(fā)現(xiàn)應用軟件中存在的性能問題, 借助于性能監(jiān)控, 分析組件可以快速定位與解決性能問題, 但并不能避免應用性 能問題不發(fā)生。1.2.5應用軟件數(shù)據(jù)庫SQL的編程注意事項確定一個SQL語句的書寫規(guī)范,以提高SQL語句在Oracle的高速緩存中 的命中概率;降低單個SQL語句的復雜度,保證SQL的執(zhí)行效率。對于復雜SQL語句, 采用轉(zhuǎn)換成PL/SQL塊或其他方式進行處理;合理設(shè)計應用程序,盡量降低所需
18、要執(zhí)行的SQL語句數(shù)量,降低與數(shù)據(jù)庫 的大量交互;采用綁定變量的方式,提高SQL執(zhí)行效率;盡量采取數(shù)據(jù)庫中本身具有的功能來實現(xiàn)相關(guān)處理, 而不是通過自己單獨 開發(fā)代碼來處理;對應用程序中的所有SQL語句進行整體的規(guī)劃管理,以盡可能的發(fā)現(xiàn)存在 缺陷的SQL語句; 對于每一個事務(wù),都盡量降低事務(wù)的大小,以提高效率; 合理使用SQL語句的hints,以提高SQL語句執(zhí)行效率; 根據(jù)現(xiàn)場實際情況,定期對主要 SQL語句進行優(yōu)化。1.2.6應用軟件中間件編程注意事項在系統(tǒng)框架完整、類任務(wù)明確、單一的前提下盡量減少框架中類的調(diào)用 層次使用DAO代替EntityBean訪問數(shù)據(jù)庫業(yè)務(wù)層的 EJB入口采用 S
19、tateless SessionBean避免使用 statefull session bea n盡量避免EJB的嵌套調(diào)用在系統(tǒng)啟動初始化過程中緩存 ejb的home接口適當?shù)厥褂脭?shù)據(jù)庫的存儲過程來提高效率一些簡單讀取的請求使用 FastLa neReade模式在WEB及APP層做集群利用應用服務(wù)器提供的conn ection pool連接數(shù)據(jù)庫1.3從平臺部署解決系統(tǒng)性能問題設(shè)計再好的軟件系統(tǒng)也需要系統(tǒng)平臺配合。因此,對于金財工程來講,對整個集成平臺的優(yōu)化是非常重要的。一般來講部署平臺的優(yōu)化是隨著集成工作每個 階段來展開的,這幾個階段主要涉及到平臺部分的規(guī)劃、安裝、配置與調(diào)優(yōu)、應 用軟件部署與
20、壓力測試和上線前準備等組成,應用軟件運行性能的好壞很大程度 上取決于這些階段平臺優(yōu)化與否。1.3.1規(guī)劃階段規(guī)劃階段是最重要的階段,這個階段就如同應用系統(tǒng)架構(gòu)一樣重要。 如果規(guī) 劃不好,對后續(xù)的工作影響很大,再調(diào)優(yōu)也不起作用。對通用平臺各部分的規(guī)劃 涉及到具體平臺相關(guān)技術(shù)的實現(xiàn)方式和方法,要根據(jù)實際要求采用合理性技術(shù)等。 本節(jié)描述的內(nèi)容包括目前主要的流行平臺情況。規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注服務(wù)器服HPIBM、SUN等主機是否采用分 區(qū)? 是硬件分區(qū)還是軟件分區(qū)?1、如果業(yè)務(wù)模式確定,業(yè)務(wù)量估計 基本準確,建議采用硬件分區(qū);2、如果業(yè)務(wù)情況變動很
21、大或不可預 測,建議軟件分區(qū)。hp 一般根據(jù)用 戶要求出廠就 做好硬分區(qū), ibm 一般優(yōu)勢 上在軟分區(qū) 上,動態(tài)調(diào)整 能力較強。同構(gòu)還是異構(gòu)做 集群?高性能主 機和低性能主機 可否做集群?1、一般做集群都是同構(gòu)的,也就是 說操作系統(tǒng)版本要求一致,這樣集群 軟件才能運行起來;2、如果可能的話盡量采用相同的主機做集群,這樣對H/A方式來說可以很快遷移到備 機上去,對rac方式可頭現(xiàn)負載均 衡。由于條件無法 提供同性能機 型,則需在備 機上配置一套 低配置的備用 參數(shù)。是雙臺做并行還是單臺高性能做H/A?1、單業(yè)務(wù)建議高性能單機;2、多業(yè)務(wù)類型建議rac模式目前常見的是雙機做RAC應用服務(wù)器和數(shù)據(jù)
22、庫服務(wù)器配置選擇方法1、一般應用服務(wù)器選擇多CPU多線程的主機類型,cpu和內(nèi)存比一般 為1:2即可;2、數(shù)據(jù)庫服務(wù)器多選 擇高主頻、高性能多 CPU類型,cpu 和內(nèi)存的比一般至少 1 :2,取好能1 : 4或以上。對業(yè)務(wù)線一般數(shù)據(jù)庫和應用服務(wù)器都建議采用ibm/hp小型機,如果是 核心平臺,且 中等城市規(guī)模 至少配置高端8c/16g雙機熱備,如果對人 城市建議至少規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注是8c/16g 的rac, 或者是16c/32g 的雙機熱備。-/存儲交換存磁盤陣列和光纖交換機存儲的選擇建議陣列配置大讀寫CACHE至少2- 4g,越大越好,15k轉(zhuǎn)的fc磁盤,3- 4g以
23、上的通道速度。hp eva 系歹U主要靠多盤條帶 技術(shù),硬盤速 度很關(guān)鍵raid 的選擇建議核心業(yè)務(wù)采用raidO+1,非核心采用raid5,可根據(jù)陣列情況配置多少塊物理盤做一個raid陣列不同raid技術(shù)不冋,大 部分都支持通用raid技術(shù),不過有些陣列不支持空間的劃分空間劃分要根據(jù)業(yè)務(wù)滿足3-5年設(shè)計要求,一般根據(jù)需要設(shè)定,可劃分 為業(yè)務(wù)卷、鏡像卷(如果有存儲級鏡 像)、備份卷(對業(yè)務(wù)系統(tǒng)的備份) 和預留空間lun設(shè)置大?。縧un設(shè)置大小主要取決于陣列盤的 大小、做成raid后整個空間大小以 及操作系統(tǒng)能管理的卷組中的物理 卷個數(shù),對于業(yè)務(wù)數(shù)據(jù)300g-500g的系統(tǒng),可設(shè)幾個大點的80g
24、-100g的盤,同時做幾個小點的盤如 3g-30g,做為備份和系統(tǒng)使用。存儲光纖交換機目前有1g/2g/4g端口速度的存規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注的選擇使用儲交換,盡量選擇與主機 HBA卡和陣 列通道相匹配的交換機網(wǎng)絡(luò)設(shè)備網(wǎng)路由、交換、線路、 防火墻、網(wǎng) 閘內(nèi)網(wǎng)外網(wǎng)劃分總體可根據(jù)業(yè)務(wù)網(wǎng)和外網(wǎng)進行劃分,對不同業(yè)務(wù)可進行子網(wǎng)隔離,或通過路由訪問。防火墻、網(wǎng)閘的使用對外網(wǎng)或非局域?qū)>W(wǎng)訪問要設(shè)置防火墻,甚至網(wǎng)閘線路帶寬的選擇盡量米用高帶寬穩(wěn)定線路,建議有大 量往返數(shù)據(jù)流量的業(yè)務(wù)至少采用2m以上線路。操作 系 統(tǒng)操HPIBM、SUN等操作系統(tǒng)版本選擇1、ibm aix 5.2 04 或 ai
25、x5.3 02以上,否則對 oracle 10gr2 會有問 題 2、hp HP-UX B.11.23.0409 or later ,這個版本對安騰和 PA-RISC 芯片都可用。低版本的11.23 ( v2版)只對安騰,11.11 (v1版)只對 PA-RISC。3、solaris9/10根文件系統(tǒng)劃分預留建議根卷在操作系統(tǒng)安裝前就規(guī)劃好,把根卷中的各文件系統(tǒng)擴展好, 一般73g盤可參考如下配置:/arch125g用于oracle歸檔/ 2g/tmp 5g擴大臨時文件系統(tǒng)/home 3g/opt 20g用于oracle介質(zhì)安裝/usr 5g/var 2gSwap 8g規(guī)劃階段優(yōu)化任務(wù)及問題解
26、答優(yōu)化建議備注數(shù)H/A是主備式的,rac是并仃的,是數(shù)否采用rac基于以下原因:1、多應據(jù)庫H/A 還是 rac ?用系統(tǒng),而且應用間是耦合連接的。尸廣 tn 【.佬亍廠丄七cPSA 4-rr r"2、需要高可用計算環(huán)境。3、單機丿無法支撐應用運行。缺省是文件系統(tǒng)實現(xiàn)數(shù)據(jù)庫應用,采Oracle文件系統(tǒng)還是裸用裸卷有兩個原因:1、使用rac。2、文件?數(shù)據(jù)中含有二進制對象, 如圖像、聲音、視頻等。選擇數(shù)據(jù)庫版本基于以下考慮:1、應用版本要求。2、客戶購買現(xiàn)狀。3、9i還是10g?盡量使用10g,以增強管理,提高效率。中bea采用集群的優(yōu)點:1、提供單點發(fā)布中weblogic、應用能力。
27、2、多機、多server通過間ibm一個管理臺進行管理。3、在cluster件websphere單機運行還是集server間提供會話復制能力,確保及等中間件,群配置?會話級failover 能力。4、通過軟代負f5等負載理可實現(xiàn)負載均衡的功能。缺點:1、載均衡設(shè)備購買昂貴。2、在配置f5后,重要性均下降,尤其當配置4個以下的server衡時。器采用軟代理還是如果條件允許盡可能采用負載均衡負載均衡器?器規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注集如果米用oracle rac ,就要配置類集HPMC/ServiceGuard似 HP-UX 11i v1/v2 Serviceguard群并行還是HA?R
28、AC PCL LTU的模塊,否則無法安裝軟oracle 并行版。件HACMPhacmp要和aix 版本及oracle 版本ibm5.1/5.2/5.3版相匹配,可參考 oracle相應版本的本問題主機環(huán)境需求SUNSUN ClusterSyma ntVeritas Cluster這幾個平臺用的不多,參考oracleecSystem安裝配置文檔的平臺部分和對應平LinuxLVS臺操作系統(tǒng)cluster軟件要求。RedhatRedhat Clusteroracle10g 新推出的cluster 軟件,Oracle CRS 是否它可以單獨管理rac實例,也可以和Oracle誇"Wo 需?其
29、它主機主機 cluster軟件共同管理,有多種實現(xiàn)方式。:備HP備Data份Protector這些備份軟件功1、建議首先要確定備份內(nèi)容:是否虛擬磁帶與IBM能類似,主要考慮包括整庫、歸檔和文件?2、要確定庫需要另外的恢Tivoli土IT14【夂/八七左七備份的容量和可能的增量。3、要確軟件和磁盤陣規(guī)劃備份方案方復Legato法定備份窗口,也即備份可用時間段。列軟NetWorker件Syma ntecn etbackup遠Syma ntec軟件方式容災一般廠商實施,是一種利用軟件在本程vvr地或異地實現(xiàn)邏輯卷的鏡像復制規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注災備HP CA存儲級容災hp公司容災產(chǎn)品
30、,一種保存數(shù)據(jù)備 份的最常用做法,可同步可異步,對 系統(tǒng)影響較小,對于數(shù)據(jù)級備份是首 選。OracleDataGuard軟件方式容災oracle自帶軟件容災解決方案,對 帶寬要求不咼,需要應用級容災的情 況比較適合。EMC SRDF存儲級容災EMC公司容災產(chǎn)品,一種保存數(shù)據(jù)備 份的最常用做法,可同步可異步,對 系統(tǒng)影響較小,對于數(shù)據(jù)級備份是首 選。IBM PPDR存儲級容災ibm公司容災產(chǎn)品,一種保存數(shù)據(jù)備 份的最常用做法,可同步可異步,對 系統(tǒng)影響較小,對于數(shù)據(jù)級備份是首 選。IT運維管理NeusoftNeteye SOC系統(tǒng)監(jiān)控產(chǎn)品這些都是系統(tǒng)監(jiān)控、運行維護產(chǎn)品, 一般廠商實施,建議有規(guī)模
31、的數(shù)據(jù)和 網(wǎng)絡(luò)中心都要安裝類似設(shè)備, 能夠?qū)?主機、數(shù)據(jù)庫、網(wǎng)絡(luò)、中間件、應用 等方方面面都實施監(jiān)控,及時發(fā)現(xiàn)并 解決問題。HPOpe nviewCAUn ice nterIBMTivoli表1-11.3.2實施階段實施階段優(yōu)化包括對軟、硬件的集成過程中涉及到具體技術(shù)的實現(xiàn)方式和 方法,采用技術(shù)的合理性等。本節(jié)描述的內(nèi)容包括目前主要的流行平臺情況安裝階段性能相關(guān)內(nèi)容優(yōu)化建議存儲根卷組、邏輯卷的創(chuàng)建卷組、邏輯卷創(chuàng)建考慮根卷組大小一般視主機帶的缺省盤大小而定,一 般為73g,可按規(guī)劃階段內(nèi)容進行安裝,適當留 點剩余空間以備臨時用。如果是136g盤,可將oracle 本地歸檔,temp、var、sw
32、ap等邏輯卷適 當放大。存應用卷組、應用邏輯卷的創(chuàng)建卷組命名、大小,各主要邏輯卷命名、大小?業(yè)務(wù)卷組可任意命名,如:vg_ora,卷組的大小初始建設(shè)按滿足2-3年分配,額外預留2年左右 的lun空間;邏輯卷命名可按城市拼音字頭加上 用途命名,如:tjdataO1代表天津數(shù)據(jù) 01號文件,tjindex01代表天津索引01號文件。邏輯卷大小一般根據(jù)總業(yè)務(wù)數(shù)據(jù)量來定,100g以內(nèi)業(yè)務(wù)數(shù)據(jù),每個邏輯卷可按5g左右,200-500g可按10g-20g 個文件。操作 系 統(tǒng)操HP、IBM、SUN等操心系統(tǒng)的安裝ibmaix5.1/5.2/5.3安裝版本及patch問題1、一般操作系統(tǒng)版本和主機系統(tǒng)匹配的
33、,不建議老主機安裝新版操作系統(tǒng),新安裝系統(tǒng)盡量 安裝5.3版。2、盡量安裝每個版本的最高 patch, 尤其對數(shù)據(jù)庫安裝文檔上要求的平臺patch需求hp unix 11i v1/11iv2安裝版本及patch問題v1和v2分別適應pa risc及安騰兩種芯片的操 作系統(tǒng)系統(tǒng),新版v2能兼容兩種芯片,建議安裝 這個版本,將這個版本的最新大patch打上。sun solaris8/9/10安裝版本及 patch問題新主機安裝咼版本,找最新patch創(chuàng)建根鏡像盤問題建議在hp和ibm安裝操作系統(tǒng)時建立根盤卷鏡 像,保證根盤出現(xiàn)引導等其它問題時系統(tǒng)仍能啟 動安裝階段性能相關(guān)內(nèi)容優(yōu)化建議集群 軟 件H
34、P MC/SGmc/sgA.11.11/A.11.13問題注意如果使用 mc/sg管理oracle rac集群,要使用安裝有并行集群功能A.11.13或更咼版。IBM HACMPhacmp 5.1/5.2/5.3問題hacmp版本和aix版本及oracle版本需要匹配,ibm工程師在安裝時要確定數(shù)據(jù)庫數(shù)ORACLE字符集1、數(shù)據(jù)庫字符集:ZHS16GBK2、本地字符集:AL16UTF16sga酉己置30-40%物理內(nèi)存,根據(jù)并發(fā)用戶數(shù)不冋,如果并 發(fā)多,剩余物理內(nèi)存需要多些,sga就可少些。pga酉己置1-3g,根據(jù)oracle數(shù)據(jù)庫版本不同,9i/10g可設(shè)自動方式。另外,9i也可設(shè)手工配置
35、,如果手工配置可對sort_area_size 設(shè)成1-5m。數(shù)據(jù)庫、實例命名可自定義數(shù)據(jù)庫名如:orci ,實例名如:orcl1process 、sort_area_size 等參數(shù)對兩層業(yè)務(wù): process禾口 sort area size 不同。日志組、成員個數(shù),大???至少3個組,每組2個成員,大小100m9i/10g參數(shù)設(shè)置區(qū)別參考9i和10g在配置內(nèi)存參數(shù)時最大的區(qū)別是10g對sga的自動管理。也既10g在9i對pga自動管理 的基礎(chǔ)上實現(xiàn)了 sga的自動管理,只要給一個最 大值即可。數(shù)據(jù)庫系統(tǒng)表空間設(shè)置1、system 表空間 1g , undo 表空間 8 12g, temp表
36、空間10-20g ; 2、用戶數(shù)據(jù)和索引表空間可根 據(jù)實際情況創(chuàng)建,對100g 200g以下數(shù)據(jù)量系統(tǒng),文件大小可設(shè) 5 8g左右;對 300g-500g以 上的建議10g-15g 一個文件。不建議數(shù)據(jù)文件過安裝階段性能相關(guān)內(nèi)容優(yōu)化建議大,以防過大導致數(shù)據(jù)文件丟失及恢復時間過慢。中 間 件 與 負 載 均 衡 器中應用中間件中間件版本(介質(zhì))問題1、檢查好介質(zhì),通常都疋bea發(fā)過來的光盤,但 安裝時候經(jīng)常發(fā)現(xiàn)不對,需要到網(wǎng)上下載,一般 網(wǎng)上下載都是沒有問題的,但一定要下載與平臺 匹配的軟件,尤其 hp平臺分安騰版和 PA RISC 版,很多項目都搞錯,導致系統(tǒng)無法安裝成功。2、 一般分兩個版本
37、:bin 版,如: server920_zh_CNinux32.bin,下載后 ftp 到系統(tǒng)上可直接運行;jar版需要你用java加載如: java-jar-Xmx2048mserver921 ccjk generic.jar。3、解壓工具, 下載的軟件往往都是壓縮的,需要使用類似下面辦 法處理:gunzip Java5_64.sdk.tar.gz(解壓后產(chǎn)生文件 Java5.sdk.tar),然后 tar xvfJava5.sdk.tarjdk版本問題1、一定要安裝平臺自己的 jdk,如hp平臺安裝 hp jdk , ibm平臺安裝ibm jdk 。 2、一疋要安裝 中間件版本要求的jdk
38、版本,包括小patch版。通常是 /usr/java14、 /usr/java5、/usr/java5_64。3、一定要安裝應用軟件要求的版本。安裝階段性能相關(guān)內(nèi)容優(yōu)化建議安裝環(huán)境冋題1、創(chuàng)建系統(tǒng)用戶。2、合理配置文件系統(tǒng)包括/tmp 大小,預留1g,中間件安裝點、大小確定,如/opt , 預留2g°3、測試平臺jdk是否安裝及版本?女口:Java version 。 4、確疋是否安裝中文子符集, 每個環(huán)境做法不完全一樣,如hp環(huán)境做法為:#vi /etc/rc.co nfig.d/LANG默認 LANG=C;EXPORT LANG改為:LANG=zh_CN.hp15CN;expor
39、t LANG 在 ORACLE!戶下,vi .profile添加上述內(nèi)容增加下面這行到/etc/profilestty -istrip -parity cs8集群安裝問題1、確定集群主管理節(jié)點,在此節(jié)點安裝和配 置集群,其它節(jié)點只安裝軟件即可。2、所有物理 安裝節(jié)點必須配置缺省網(wǎng)關(guān)3、使用weblogic軟件代理對核心業(yè)務(wù)線不適合4、unix環(huán)境盡量使用nohup方式啟動各進程5、盡量米用f5等 負載均衡器做分發(fā)。f5安裝問題一般f5會安裝在應用服務(wù)器前,如果兩臺可按主 備方式。遠程 災 備遠Syma ntec對應用級容災要做遠程容災應用級測試一般廠商到場安裝,建議進行演習測試。HPOracl
40、eITNeusoftNeteye SOC需要提供監(jiān)控內(nèi)容部分需要討論確認具體監(jiān)控內(nèi)容:1、主機cpu、內(nèi)存、i/o等;2、編寫對中間件、數(shù)據(jù)庫、應用的監(jiān)控腳本安裝階段性能相關(guān)內(nèi)容優(yōu)化建議運 維 管 理HPOpenview確定CAUn ice nterIBMTivoli備份Syma ntec備 netbackp備份實施內(nèi)容確疋1、創(chuàng)建幾個備份腳本,包括全備份,歸檔備,文 件備等。2、演習測試ibm tsmHP dataprotector1.3.3配置與優(yōu)化階段這個階段是在平臺環(huán)境基本搭建好后必須開展的工作,也是在應用部署前首 要的任務(wù)。本節(jié)提供的都是多年來在建設(shè)大量項目中的經(jīng)驗積累,涉及多種軟、
41、 硬件平臺的優(yōu)化。通過這種配置、優(yōu)化后對常見大型應用可基本保證不出大的問 題。1.3.4應用部署與測試階段這個階段是在軟件和集成都完成后,把軟件部署在新的集成平臺上并做壓力 測試的過程。在這個過程中需要對現(xiàn)有的環(huán)境做進一步優(yōu)化。上線前準備階段這個階段是上線前的對系統(tǒng)做最后檢查的階段。 需在各方面條件都滿足要求的條件下才能上線1.4 系統(tǒng)性能調(diào)優(yōu)實用技術(shù)性能優(yōu)化有很多技術(shù), 包括各個廠家的技術(shù), 也包括在實際調(diào)優(yōu)過程中積累 的經(jīng)驗。比如在數(shù)據(jù)庫設(shè)計,如:表和索引等設(shè)計的時候,充分利用數(shù)據(jù)庫的特 色和性能,使程序運行效率最好;中間件也是一樣, java 程序開發(fā)的時候往往也 會利用應用服務(wù)器的特性
42、使程序效率最高。 另外,對各平臺軟、 硬件及應用性能 的監(jiān)控和性能診斷能力已成為系統(tǒng)整體性能的關(guān)鍵保障。下面將分別展開1.4.1 數(shù)據(jù)庫配置及優(yōu)化方法數(shù)據(jù)庫是應用的核心, 做好數(shù)據(jù)庫的設(shè)計與優(yōu)化是保證系統(tǒng)性能的關(guān)鍵。 數(shù) 據(jù)庫的設(shè)計和優(yōu)化通常包括如下內(nèi)容:數(shù)據(jù)庫的設(shè)計,包括表的設(shè)計、索引的設(shè)計等。表的設(shè)計要兼顧靈活性 和易用性;根據(jù)表、索引的設(shè)計情況,估算每個表的基準數(shù)據(jù)量及大小,還有表數(shù) 據(jù)的增長情況,合理設(shè)計每個表的參數(shù)值。對于數(shù)據(jù)量大的表,采用分 區(qū)表和物化視圖等技術(shù),以及在設(shè)計上考慮歷史表等方法來提高性能; 根據(jù)表、索引的設(shè)計情況,合理設(shè)計表空間的大小、在磁盤上的分布以 及相關(guān)的參數(shù);
43、 合理調(diào)整數(shù)據(jù)庫的初始化參數(shù)以及操作系統(tǒng)的內(nèi)核參數(shù)等; 合理規(guī)劃客戶端 / 連接池對數(shù)據(jù)庫的連接數(shù)目; 根據(jù)現(xiàn)場實際情況,定期監(jiān)測和檢查數(shù)據(jù)庫的使用情況,并對不合理參 數(shù)做出調(diào)整。同時,也定期對數(shù)據(jù)庫中的碎片進行整理。本系統(tǒng)規(guī)模大(海量數(shù)據(jù)) ,連接點、實時性要求高,因此如何處理海量數(shù) 據(jù),是保證系統(tǒng)性能的關(guān)鍵。本節(jié)根據(jù)海量數(shù)據(jù)的特點闡述系統(tǒng)性控制措施。本項目采用 Oracle 數(shù)據(jù)庫,因此,數(shù)據(jù)系統(tǒng)性能的控制將結(jié)合 Oracle 展開。 “海量”數(shù)據(jù)庫的概念一直在不斷變化, 1995 年時,容量大于 100GB 的數(shù) 據(jù)庫就被認為是大型數(shù)據(jù)庫。僅僅幾年之后,數(shù)萬億字節(jié)的數(shù)據(jù)庫已投入市場。 V
44、LDB是超大型數(shù)據(jù)庫的(very large database簡稱。141.1 分區(qū)表和索引(partition table and index) 技術(shù)根據(jù)實際經(jīng)驗,在一個大數(shù)據(jù)庫中,數(shù)據(jù)庫空間的絕大多數(shù)是被少量的表所 占有。如何簡化大數(shù)據(jù)庫和管理,如何改善應用的查詢性能,一般可以使用分區(qū) 這種手段。所謂分區(qū)就是動態(tài)地將表中記錄分離到若干不同的表空間上,使數(shù)據(jù)在物理上被分割開來,便于維護、備份、恢復、事務(wù)及查詢性能。當使用的時候可建立 一個連接所有分區(qū)的視圖,使其在邏輯上仍以一個整體出現(xiàn)。ORACLE進了數(shù)據(jù)分區(qū)的技術(shù),以加強對 VLDB的支持。當表的數(shù)據(jù)增大時,數(shù)據(jù)的載入/載出、備份/恢復占
45、用了大量的時間,也使 數(shù)據(jù)庫管理員的任務(wù)變得復雜、繁瑣,直接影響系統(tǒng)的可用性。所以,為了便于 管理、提高關(guān)鍵數(shù)據(jù)的可用性、提高查詢的性能,ORACLE可基于一定的關(guān)鍵值把表和索引分為若干可管理的小塊 一一區(qū),由于每個分區(qū)的操作是相對獨立的, 從而避免因一部分數(shù)據(jù)的無法訪問而影響其他分區(qū)的數(shù)據(jù)的使用。這帶來兩方面的好處:第一、提高性能,只對存有被查數(shù)據(jù)的分區(qū)進行查找,從而加快速度; 第二、高可用性,備份/恢復可以以分區(qū)為單位進行,減少管理時間;另外,數(shù) 據(jù)是基于分區(qū)管理的,硬件的失敗只會影響本地分區(qū),不影響其他分區(qū)上的數(shù)據(jù) 的操作,從而提高系統(tǒng)的可用性。這種分區(qū)的機制,對應用系統(tǒng)是透明的。圖1-
46、3數(shù)據(jù)庫分區(qū)技術(shù)Oracle的分區(qū)(Partitioning Option)方式有 hash,range和 composite 多種。這種靈活的分區(qū)方式好處是:目標準確的數(shù)據(jù)服務(wù)器管理高可用性應用性能提高由于結(jié)構(gòu)的限制,多數(shù)服務(wù)器的分區(qū)導致為提高性能以犧牲目標準確的數(shù)據(jù) 服務(wù)器管理和高可用性為代價。必須在它們之間作出選擇。Oracle的composite分 區(qū)方法則消除了這種情況。采用Oracle的分區(qū),數(shù)據(jù)的存儲、管理、訪問和備份都完全按你的業(yè)務(wù)要 求。例如許多公司喜歡按日期分區(qū),當數(shù)據(jù)到達一定的日期后,數(shù)據(jù)就不能再被 查詢。Oracle的Range分區(qū)使過期的分區(qū),仍然可被查詢。Oracl
47、e的分區(qū)顯著地改進了數(shù)據(jù)的可用性。單一分區(qū)可被單獨離線,不影響 其它數(shù)據(jù)運行。查詢永遠是在所有分區(qū)正常的情況下才進行。Oracle決不會提供 不完整的查詢結(jié)果。141.2 并行化(parallelism )技術(shù)具有大內(nèi)存與CPU資源的巨型系統(tǒng)已經(jīng)出現(xiàn)十幾年了,這些系統(tǒng)多采用MPP 或SMP結(jié)構(gòu),具有大計算能力,并且有很好的擴充性,然而,如果應用軟件不 能有效地利用這些計算機的特點,那么計算的能力將受到限制。Oracle早在7. 1版本中就引入了并行查詢選項(PQO),以充分使用這些系 統(tǒng)中可用的硬件資源。Oracle并行查詢選項允許長時間運行的 SQL操作(主要是 查詢),以協(xié)同方式在多個CP
48、U間運行,這使系統(tǒng)減少了資源密集型SQL操作的 運行時間。并行執(zhí)行選項使多個服務(wù)器進程可以并行執(zhí)行一定的操作。 進程,稱為查詢 協(xié)調(diào)器,將一條語句的執(zhí)行調(diào)配到多個服務(wù)器執(zhí)行, 協(xié)同所有服務(wù)器的結(jié)果,并 將結(jié)果返回給用戶。SELECT *FROM EMP FParallel Execution ServarParallel Execution Coordinator圖 1-4 并行查詢技術(shù)14121 并行 SQL(parallel SQL executiO技術(shù)Oracle 數(shù)據(jù)庫是一個由不同的進程維護的物理數(shù)據(jù)文件的集合。這樣一套 后臺進程與共享內(nèi)存段,統(tǒng)稱為 Oracle 實例,使并發(fā)用戶可以
49、與數(shù)據(jù)庫交互。 當一個用戶需要使用 ( select 、insert 、update 或 delete )數(shù)據(jù)庫中的數(shù)據(jù)時, 他需要連接到數(shù)據(jù)庫。在大多數(shù) UNIX 系統(tǒng)中, Oracle 使用兩任務(wù)體系結(jié)構(gòu)。在 這個模式中, 當一個用戶連接到數(shù)據(jù)庫時, 派生一個附加的進程, 通常稱為影子 進程、前臺等等。影子進程代表用戶存取共享內(nèi)存段與數(shù)據(jù)文件。在VLDB環(huán)境中,用戶通常需要處理大量數(shù)據(jù),影子進程完成必需的工作需 要花費一段時間。 由于影子進程操縱數(shù)據(jù)工作時間很長, 很辛苦, 系統(tǒng)很可能有 空閑的 C P U 與內(nèi)存資源。這正是 Oracle 并行查詢選項發(fā)揮作用的地方。通過 使用這個選項,
50、 Oracle 可以將一個用戶的大量數(shù)據(jù)處理請求分解為多個、相對 較小的工作單元, 這些工作單元可以由不同的進程并發(fā)執(zhí)行。 它使用一套專有后 臺進程,稱為并行查詢伺服(服務(wù)器) ,完成這項工作。影子進程被提升為管理 的角色,并稱為查詢協(xié)調(diào)器,查詢協(xié)調(diào)器的職責如下:1)將功能分解為并行的小片。2)確保可以得到足夠數(shù)量的并行查詢伺服器。3)為給定的工作初始化伺服器進程,并在 P Q O 服務(wù)器的進程之間分派工 作。4)從伺服器進程收集輸出并將輸出返回。5)當完成預期的工作后, 查詢伺服器進程被釋放, 并可由其他的工作獲得。 在最有利的情況下, 并行執(zhí)行減少了執(zhí)行時間, 執(zhí)行時間的因子是使用的查詢伺
51、服器的個數(shù)。然而,由 S Q L 語句消耗的總時間并沒有減少。并行執(zhí)行比順 序執(zhí)行使用更多的系統(tǒng)資源, 這樣可使的系統(tǒng)的資源得到有效的利用, 而不是浪 費。O r a c l e 服務(wù)器概念手冊指出 Oracle 可以并行執(zhí)行以下的操作: 表掃描; 嵌套循環(huán)連結(jié);排序合并連結(jié);哈西連結(jié);“ Not in ”;Group by ;Select distinct;Union 與 union all;集合;從 SQL 調(diào)用的 PL / SQL 函數(shù);Order by;Create table as selec;tCreate index; Rebuild index; Move partition
52、; Split partition ; Update; Delete; Insert . . . selec;t Enable 約束(表掃描是并行化的) ; 星形變換。14122并行數(shù)據(jù)裝載(parallel load技術(shù)在VLDB中快速的數(shù)據(jù)裝載速度顯得非常重要,ORACLED SQL * LOADERS具可以并行執(zhí)行,從而可提高數(shù)據(jù)裝載的速度。 Oracle 的并行裝載有以下特點: 每個 SQL * Loader 會話分派了一個新的區(qū)間并將數(shù)據(jù)載入新區(qū)間中,為優(yōu)化系統(tǒng)的 I / O 性能,強烈建議在 OPTIONS 子句中使用 FILE 與 STORAGE 關(guān)鍵字控制新區(qū)間的位置與大小。
53、FILE 關(guān)鍵字可以在命令行 或控制文件中定義,然而,存儲子句只能在控制文件中定義。 并行加載要求沒有本地或全局索引。如果存在任何索引,會產(chǎn)生一個錯 誤信息并退出加載操作。 在加載之前需要手工刪除索引, 在加載完成后, 再重建索引。每個加載會話需要一個表上的共享鎖。 每個加載會話都是獨立的,在加載會話之間沒有任何聯(lián)系。當一個會話完成加載后,Oracle將加載的區(qū)間與已有的區(qū)間連接到一起, 上次加載區(qū)間中沒有使用的塊作為空區(qū)間返回, 這導致加載之后非標準 大小的區(qū)間。 即使通過加載控制文件中的存儲子句選項指定了區(qū)間大小, 截斷也會發(fā)生。14123 并行恢復(parallel recovery技術(shù)
54、在VLDB中中當數(shù)據(jù)庫出現(xiàn)意外損壞而需要恢復時,ORACLE提供了并行恢復的機制使系統(tǒng)的恢復進間盡量縮短。Oracle 的基本讀 -寫單位是數(shù)據(jù)塊。每當對塊進行修改時, Oracle 將這些改 變以重做日志的形式記錄下來, 如果需要時, 可以使用這些日志重建這些塊。 如 果由于介質(zhì)失效或任何其他的原因而造成當前數(shù)據(jù)文件的內(nèi)容丟失, 那么這些文 件可以從適當?shù)膫浞菘截愔兄亟ǎ缓筮M行恢復?;謴瓦^程包括以下步驟:1 )讀日志文件并獲得數(shù)據(jù)塊的修改序列號。2 )決定哪一個數(shù)據(jù)塊需要改變。3 )在高速緩存中讀這些數(shù)據(jù)塊。4 )從重做日志中將相應的改變應用到這些數(shù)據(jù)塊。5 )將修改完成的數(shù)據(jù)塊寫回硬盤。為在并行狀態(tài)下進行恢復,需要設(shè)置初始化參數(shù)RECOVERY_PARALLELISM也可以使用RECOVEF命令的PARALLEL子句代替。在并行恢復過程中,服務(wù)器 管理器或SQLDBA會話讀重做日志文件并將改變傳遞給并行服務(wù)器進程。然后這些進程讀相應的數(shù)據(jù)文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 突發(fā)事件應對指南
- 類公共領(lǐng)域生成及其社會動員能力研究
- 心理輔導方案
- 噴涂車間管理制度
- 數(shù)字拜物教在拜物教批判理論視野下的研究
- 安全生產(chǎn)責任險條款人保
- 辦理安全生產(chǎn)許可證的公司
- 運動會方陣組織與策劃策略研究
- 安全生產(chǎn)知識考核要點
- 安全生產(chǎn)培訓要求有哪些
- 貴州省政務(wù)信息化項目需求報告(建設(shè)類模板)、信息化建設(shè)項目實施方案模板2026年版(新建、升級改造)
- 2025年昆明市事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(文秘類)真題解析
- 2025至2030中國特醫(yī)食品行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2024建安杯信息通信建設(shè)行業(yè)安全競賽題庫
- 水利水電工程行業(yè)市場發(fā)展分析及發(fā)展前景與投資研究報告2025-2028版
- 血小板減少癥護理查房
- 浙江杭州市2024-2025學年高一下學期6月期末考試數(shù)學試題及答案
- 煤磨安全試題及答案
- 漸凍人麻醉處理要點
- 2025年中國郵政集團有限公司廣東省分公司人員招聘筆試備考試題及參考答案詳解1套
- 2025-2030中國全麥粉市場銷售狀況與競爭前景分析報告
評論
0/150
提交評論