




版權(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)性能問題,其目標(biāo)是保證如下指標(biāo):并發(fā)用戶數(shù)吞吐量可靠性性能即:讓系統(tǒng)更快更好地為更多的用戶提供服務(wù), 并且保證服務(wù)過程不會中斷。 為了達到以上指標(biāo),在設(shè)計中可以采用如下方案:1.1.1 構(gòu)架設(shè)計性能保障原則(1)面向性能的業(yè)務(wù)流程分析 明確性能問題在整個軟件生產(chǎn)與運行過程中的重要意義, 在考慮架構(gòu)分析與 設(shè)計的時候,出發(fā)點與指導(dǎo)原則是幫助用戶使用某種技術(shù)手段來高效地完成業(yè)務(wù) 流程,其本質(zhì)是 “高效的業(yè)務(wù)流程 ”,而不是一個計算機系統(tǒng)或計算機應(yīng)用。在這 一原則之下
2、,我們的應(yīng)用開發(fā)是圍繞著開發(fā)高效 業(yè)務(wù)流程”展開的,Java或其他 技術(shù)只是我們的一種技術(shù)手段而已。 避免由于具體的技術(shù)實現(xiàn)方案對業(yè)務(wù)流程分 析中的性能指標(biāo)的束縛。(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ù)流程與模型的自然變化面前, 可以通過最少, 最小的程序變動, 降低 對應(yīng)用性能的影響。(
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ù)交互格式定義精簡的客戶端與應(yīng)用服務(wù)器端數(shù)據(jù)交互格式, 在不丟失數(shù)據(jù)語義的同時, 盡 量降低在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)內(nèi)容。自動事物管理利用面向切面的技術(shù)進行事物管理的切入, 從而實現(xiàn)自動化的事物處理,
4、 避 免編程式事物導(dǎo)致的事物與數(shù)據(jù)庫連接問題并行處理并行處理是通過利用J2EE層執(zhí)行模式的多線程和多 CPU特點來提高性能。 與使用一個線程或 CPU 處理任務(wù)相比,以并行方式處理多個子任務(wù)可以使操作 系統(tǒng)在多個線程或處理器中進行分配這些子任務(wù)。異步處理異步處理只處理那些非常重要的任務(wù)部分,然后將控制立即返回給調(diào)用者, 其他任務(wù)部分將在稍后執(zhí)行。 異步處理是通過縮短那些在將控制返回給用戶之前 必須處理的時間來提高性能的。 雖然都做同樣多的事情, 但是用戶不必等到整個 過程完成就可以繼續(xù)發(fā)出請求了緩存機制緩存中存放著頻繁訪問的數(shù)據(jù), 在應(yīng)用的整個生命周期中, 這些數(shù)據(jù)存放在 持久性存儲器或存放在
5、內(nèi)存中。 在實際環(huán)境中, 典型的現(xiàn)象是在分布式系統(tǒng)中每 個JVM中有一個緩存的實例或者在多個 JVM中有一個緩存的實例。緩存數(shù)據(jù)是 通過避免訪問持久性存儲器來提高性能的, 否則會導(dǎo)致過多的磁盤訪問和過于頻 繁網(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)的運算與處理速度。資源池,對象池在應(yīng)用系統(tǒng)運行過程中, 特別對于一個高并
6、發(fā)的應(yīng)用系統(tǒng)資源的頻繁地創(chuàng)建 都一個高成本的動作, 在架構(gòu)設(shè)計過程中對數(shù)據(jù)庫連接, 業(yè)務(wù)邏輯組件等高并發(fā), 高成本的對象與資源采用池化技術(shù), 在應(yīng)用系統(tǒng)啟動過程中以對象池, 資源池的 方式,初始化到池中,降低頻繁的創(chuàng)建與銷毀,同時也降低內(nèi)存碎片的產(chǎn)生(4)持續(xù)性的性能管理持續(xù)性的性能管理主要是指, 在系統(tǒng)構(gòu)建過程中持續(xù)性地性能測試。 持續(xù)性 能管理的前提條件是有一套完整定義的單元測試用例, 健壯的測試框, 以及明確 的,量化的性能需求。除了必不可少的單元測試,集成測試,壓力測試以外,持 續(xù)性的性能管理更突出了自動化測試的重要意義, 自動化方式可以創(chuàng)建重復(fù)的測 試過程并迅速報告應(yīng)用代碼的質(zhì)量。
7、只有自動化方式才能保證正確地遵循這些測 試過程,并且保證準確和一致地測試應(yīng)用組件。1.1.2 分層的設(shè)計方法分層應(yīng)用是將組件等分隔到不同的層中, 每一層中的組件保持內(nèi)聚性, 并且 大致在同一抽象級別。 每一層都應(yīng)與它下面的各層保持松散耦合, 避免使較低級 別依賴于較高級別。通過分層, 可以限制子系統(tǒng)間的依賴關(guān)系, 使系統(tǒng)以更松散的方式耦合, 從 而更易于維護。 分布式服務(wù)層依賴較低層, 但是較低層的細節(jié)不會顯示在包含應(yīng) 用程序和業(yè)務(wù)邏輯層的較高層中。 應(yīng)用程序開發(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應(yīng)用軟件層次架構(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、負責(zé)管理應(yīng) 用系統(tǒng)的數(shù)據(jù)資源,完成數(shù)據(jù)操作。服務(wù)器組件在完成服務(wù)的過程中通過資源管 理器存取它管理的數(shù)據(jù),或者說請求資源管理器的數(shù)據(jù)服務(wù)。在三層客戶機/服務(wù)器模式上架構(gòu)的應(yīng)用系統(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)應(yīng)用支撐功能,如:緩存、對象池、線程池、消 息、日志等。
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īng)的功能組件來完成。 在單筆業(yè)務(wù)或者小用戶 量的情況下,分層的系統(tǒng)架構(gòu)并不具備優(yōu)勢,其關(guān)鍵優(yōu)勢在于對并發(fā)的大數(shù)據(jù)量 業(yè)務(wù)的響應(yīng)和處理方面,通過在各層中合理的分布系統(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ù)處理模式通常采用直接的請求 /應(yīng)答方式進行同步處
11、理,在業(yè)務(wù) 高峰發(fā)生的時候,由于對資源的集中使用造成系統(tǒng)的響應(yīng)速度急劇下降。通過在系統(tǒng)架構(gòu)中加入異步業(yè)務(wù)處理模式的支持,將一些業(yè)務(wù)通過異步方式放入工作隊 列中,在系統(tǒng)空閑的時候再從隊列中獲取工作任務(wù)進行處理,減少對資源的集中占用,保證在業(yè)務(wù)高峰期的系統(tǒng)響應(yī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)魯棒性、 可擴充性、安全性得到大大提高, 同時它也使得分布式計算得到廣 泛應(yīng)用,使得系統(tǒng)的性能由于采用分布式計算而大大提高。采用分布式計算有著多方面的技術(shù)優(yōu)勢,包括:邏輯封裝性這是分布式模式中最具誘惑力的特征, 這種模式將以往 C/S 結(jié)構(gòu)中全部由客 戶機完成的事務(wù)邏輯中的一部分從客戶端分開。 當(dāng)使用戶需要動態(tài)改變一個應(yīng)用 軟件的商業(yè)邏輯規(guī)則時, 只要改變一個應(yīng)用服務(wù)器的程序即可, 而不需要更改客 戶端用戶界面, 這樣就無需中斷用戶, 為最終用戶重新發(fā)放新的界面軟件或親自 上門為其安裝調(diào)試
13、并重新培訓(xùn)用戶, 提高了工作效率。這種多級模式對于需經(jīng)常、 快速改變應(yīng)用程序的行業(yè)很有幫助。性能性能的提高是三級模式最終被用戶采用的主要原因。 將復(fù)雜的應(yīng)用和商業(yè)邏 輯分離出來由專門的一臺或多臺應(yīng)用服務(wù)器來處理, 既可以提高應(yīng)用的執(zhí)行速度, 也可以減少網(wǎng)絡(luò)調(diào)用的通訊量。 不過這種性能提高是有一定代價的。 這就是開發(fā) 時要將應(yīng)用邏輯分割為客戶端邏輯和服務(wù)器端邏輯,這就增加了設(shè)計的復(fù)雜性。安全性管理在分布式計算模式中, 由于所有的商業(yè)邏輯都駐留在服務(wù)器端, 信息管理部 門就可以十分方便地監(jiān)控服務(wù)器的運行情況, 很容易地控制訪問服務(wù)器以及與服 務(wù)器應(yīng)用打交道人員的數(shù)量。 這可以大大簡化管理員對系統(tǒng)的
14、管理, 減輕系統(tǒng)維 護的工作量,并確保系統(tǒng)的可靠運行。針對金財工程的特點, 在構(gòu)架系統(tǒng)時, 應(yīng)充分考慮分布式計算的特點, 在數(shù) 據(jù)大集中的模式, 通過應(yīng)用服務(wù)器及其群集技術(shù), 將計算邏輯合理分布以保證系 統(tǒng)的性能。1.2從應(yīng)用軟件解決系統(tǒng)性能問題1.2.1應(yīng)用軟件的設(shè)計應(yīng)基于構(gòu)件,盡量簡單化應(yīng)用系統(tǒng)的設(shè)計應(yīng)利用基于構(gòu)件的開發(fā)理念,增加程序代碼的可重用性。此外,程序應(yīng)使用簡單的邏輯和算法來獲取結(jié)果, 避免復(fù)雜以及深層次的對象調(diào)用, 提高運行效率,以獲得快速的相應(yīng)速度。1.2.2應(yīng)用軟件應(yīng)該以分階段的方式來構(gòu)件化已存在的遺留系統(tǒng)歷史遺留系統(tǒng)的重構(gòu)是高風(fēng)險和大工作量的任務(wù),同時與遺留系統(tǒng)的業(yè)務(wù)和 數(shù)
15、據(jù)銜接是一個對應(yīng)用軟件性能影響重大的環(huán)節(jié)。因此,最好以分階段的方式逐 步用新的構(gòu)件替換遺留系統(tǒng)的各個組成部分,以降低風(fēng)險,減少工作量,逐步提高系統(tǒng)的相應(yīng)速度。1.2.3應(yīng)用軟件編寫的質(zhì)量直接關(guān)系到系統(tǒng)的性能。編程的質(zhì)量有經(jīng)驗的積累也有個人的技巧,在一個用軟件整個開發(fā)過程的指 導(dǎo)思想是:“按照規(guī)范來進行開發(fā),而不是按照個人習(xí)慣,應(yīng)用服務(wù)器等其他因 素來進行開發(fā)”。與此相對應(yīng)我公司專門針對開發(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ù)應(yīng)用系統(tǒng)(如電信、社保系統(tǒng))的 開發(fā)中,關(guān)鍵是數(shù)據(jù)庫的操作編程以及涉及到中間件的編程將對系統(tǒng)性能影響很 大。因此本節(jié)將從數(shù)據(jù)SQL和中間兩方面簡述應(yīng)用軟件編程提高性能幾個注意點。1.2.4 應(yīng)用軟件性能監(jiān)控 ,保障組件設(shè)計除了應(yīng)用軟件本身的缺陷外,運行過程中業(yè)務(wù)模型的自然變化或人為更改
17、, 系統(tǒng)環(huán)境的改變, 以及應(yīng)用軟件執(zhí)行過程中內(nèi)在的變化特性, 使得應(yīng)用性能問題 在生產(chǎn)環(huán)境仍然普遍發(fā)生。 根據(jù)應(yīng)用軟件的業(yè)務(wù)特點, 結(jié)合技術(shù)構(gòu)架的實現(xiàn)方案, 在應(yīng)用軟件中實施與部署性能監(jiān)控, 分析組件,發(fā)現(xiàn)應(yīng)用軟件中存在的性能問題, 借助于性能監(jiān)控, 分析組件可以快速定位與解決性能問題, 但并不能避免應(yīng)用性 能問題不發(fā)生。1.2.5應(yīng)用軟件數(shù)據(jù)庫SQL的編程注意事項確定一個SQL語句的書寫規(guī)范,以提高SQL語句在Oracle的高速緩存中 的命中概率;降低單個SQL語句的復(fù)雜度,保證SQL的執(zhí)行效率。對于復(fù)雜SQL語句, 采用轉(zhuǎn)換成PL/SQL塊或其他方式進行處理;合理設(shè)計應(yīng)用程序,盡量降低所需
18、要執(zhí)行的SQL語句數(shù)量,降低與數(shù)據(jù)庫 的大量交互;采用綁定變量的方式,提高SQL執(zhí)行效率;盡量采取數(shù)據(jù)庫中本身具有的功能來實現(xiàn)相關(guān)處理, 而不是通過自己單獨 開發(fā)代碼來處理;對應(yīng)用程序中的所有SQL語句進行整體的規(guī)劃管理,以盡可能的發(fā)現(xiàn)存在 缺陷的SQL語句; 對于每一個事務(wù),都盡量降低事務(wù)的大小,以提高效率; 合理使用SQL語句的hints,以提高SQL語句執(zhí)行效率; 根據(jù)現(xiàn)場實際情況,定期對主要 SQL語句進行優(yōu)化。1.2.6應(yīng)用軟件中間件編程注意事項在系統(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接口適當(dāng)?shù)厥褂脭?shù)據(jù)庫的存儲過程來提高效率一些簡單讀取的請求使用 FastLa neReade模式在WEB及APP層做集群利用應(yīng)用服務(wù)器提供的conn ection pool連接數(shù)據(jù)庫1.3從平臺部署解決系統(tǒng)性能問題設(shè)計再好的軟件系統(tǒng)也需要系統(tǒng)平臺配合。因此,對于金財工程來講,對整個集成平臺的優(yōu)化是非常重要的。一般來講部署平臺的優(yōu)化是隨著集成工作每個 階段來展開的,這幾個階段主要涉及到平臺部分的規(guī)劃、安裝、配置與調(diào)優(yōu)、應(yīng) 用軟件部署與
20、壓力測試和上線前準備等組成,應(yīng)用軟件運行性能的好壞很大程度 上取決于這些階段平臺優(yōu)化與否。1.3.1規(guī)劃階段規(guī)劃階段是最重要的階段,這個階段就如同應(yīng)用系統(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、大或不可預(yù) 測,建議軟件分區(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應(yīng)用服務(wù)器和數(shù)據(jù)
22、庫服務(wù)器配置選擇方法1、一般應(yīng)用服務(wù)器選擇多CPU多線程的主機類型,cpu和內(nèi)存比一般 為1:2即可;2、數(shù)據(jù)庫服務(wù)器多選 擇高主頻、高性能多 CPU類型,cpu 和內(nèi)存的比一般至少 1 :2,取好能1 : 4或以上。對業(yè)務(wù)線一般數(shù)據(jù)庫和應(yīng)用服務(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)的備份) 和預(yù)留空間lun設(shè)置大???lun設(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)劃分預(yù)留建議根卷在操作系統(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、多應(yīng)據(jù)庫H/A 還是 rac ?用系統(tǒng),而且應(yīng)用間是耦合連接的。尸廣 tn 【.佬亍廠丄七cPSA 4-rr r"2、需要高可用計算環(huán)境。3、單機丿無法支撐應(yīng)用運行。缺省是文件系統(tǒng)實現(xiàn)數(shù)據(jù)庫應(yīng)用,采Oracle文件系統(tǒng)還是裸用裸卷有兩個原因:1、使用rac。2、文件?數(shù)據(jù)中含有二進制對象, 如圖像、聲音、視頻等。選擇數(shù)據(jù)庫版本基于以下考慮:1、應(yīng)用版本要求。2、客戶購買現(xiàn)狀。3、9i還是10g?盡量使用10g,以增強管理,提高效率。中bea采用集群的優(yōu)點:1、提供單點發(fā)布中weblogic、應(yīng)用能力。
27、2、多機、多server通過間ibm一個管理臺進行管理。3、在cluster件websphere單機運行還是集server間提供會話復(fù)制能力,確保及等中間件,群配置?會話級failover 能力。4、通過軟代負f5等負載理可實現(xiàn)負載均衡的功能。缺點:1、載均衡設(shè)備購買昂貴。2、在配置f5后,重要性均下降,尤其當(dāng)配置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相應(yīng)版本的本問題主機環(huán)境需求SUNSUN ClusterSyma ntVeritas Cluster這幾個平臺用的不多,參考oracleecSystem安裝配置文檔的平臺部分和對應(yīng)平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ī)劃備份方案方復(fù)Legato法定備份窗口,也即備份可用時間段。列軟NetWorker件Syma ntecn etbackup遠Syma ntec軟件方式容災(zāi)一般廠商實施,是一種利用軟件在本程vvr地或異地實現(xiàn)邏輯卷的鏡像復(fù)制規(guī)劃階段優(yōu)化任務(wù)及問題解答優(yōu)化建議備注災(zāi)備HP CA存儲級容災(zāi)hp公司容災(zāi)產(chǎn)品
30、,一種保存數(shù)據(jù)備 份的最常用做法,可同步可異步,對 系統(tǒng)影響較小,對于數(shù)據(jù)級備份是首 選。OracleDataGuard軟件方式容災(zāi)oracle自帶軟件容災(zāi)解決方案,對 帶寬要求不咼,需要應(yīng)用級容災(zāi)的情 況比較適合。EMC SRDF存儲級容災(zāi)EMC公司容災(zāi)產(chǎn)品,一種保存數(shù)據(jù)備 份的最常用做法,可同步可異步,對 系統(tǒng)影響較小,對于數(shù)據(jù)級備份是首 選。IBM PPDR存儲級容災(zāi)ibm公司容災(zāi)產(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ò)、中間件、應(yīng)用 等方方面面都實施監(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)容進行安裝,適當(dāng)留 點剩余空間以備臨時用。如果是136g盤,可將oracle 本地歸檔,temp、var、sw
32、ap等邏輯卷適 當(dāng)放大。存應(yīng)用卷組、應(yīng)用邏輯卷的創(chuàng)建卷組命名、大小,各主要邏輯卷命名、大???業(yè)務(wù)卷組可任意命名,如:vg_ora,卷組的大小初始建設(shè)按滿足2-3年分配,額外預(yù)留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分別適應(yīng)pa risc及安騰兩種芯片的操 作系統(tǒng)系統(tǒng),新版v2能兼容兩種芯片,建議安裝 這個版本,將這個版本的最新大patch打上。sun solaris8/9/10安裝版本及 patch問題新主機安裝咼版本,找最新patch創(chuàng)建根鏡像盤問題建議在hp和ibm安裝操作系統(tǒng)時建立根盤卷鏡 像,保證根盤出現(xiàn)引導(dǎo)等其它問題時系統(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ù),大?。恐辽?個組,每組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)化建議大,以防過大導(dǎo)致數(shù)據(jù)文件丟失及恢復(fù)時間過慢。中 間 件 與 負 載 均 衡 器中應(yīng)用中間件中間件版本(介質(zhì))問題1、檢查好介質(zhì),通常都疋bea發(fā)過來的光盤,但 安裝時候經(jīng)常發(fā)現(xiàn)不對,需要到網(wǎng)上下載,一般 網(wǎng)上下載都是沒有問題的,但一定要下載與平臺 匹配的軟件,尤其 hp平臺分安騰版和 PA RISC 版,很多項目都搞錯,導(dǎo)致系統(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、一定要安裝應(yīng)用軟件要求的版本。安裝階段性能相關(guān)內(nèi)容優(yōu)化建議安裝環(huán)境冋題1、創(chuàng)建系統(tǒng)用戶。2、合理配置文件系統(tǒng)包括/tmp 大小,預(yù)留1g,中間件安裝點、大小確定,如/opt , 預(yù)留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會安裝在應(yīng)用服務(wù)器前,如果兩臺可按主 備方式。遠程 災(zāi) 備遠Syma ntec對應(yīng)用級容災(zāi)要做遠程容災(zāi)應(yīng)用級測試一般廠商到場安裝,建議進行演習(xí)測試。HPOracl
40、eITNeusoftNeteye SOC需要提供監(jiān)控內(nèi)容部分需要討論確認具體監(jiān)控內(nèi)容:1、主機cpu、內(nèi)存、i/o等;2、編寫對中間件、數(shù)據(jù)庫、應(yīng)用的監(jiān)控腳本安裝階段性能相關(guān)內(nèi)容優(yōu)化建議運 維 管 理HPOpenview確定CAUn ice nterIBMTivoli備份Syma ntec備 netbackp備份實施內(nèi)容確疋1、創(chuàng)建幾個備份腳本,包括全備份,歸檔備,文 件備等。2、演習(xí)測試ibm tsmHP dataprotector1.3.3配置與優(yōu)化階段這個階段是在平臺環(huán)境基本搭建好后必須開展的工作,也是在應(yīng)用部署前首 要的任務(wù)。本節(jié)提供的都是多年來在建設(shè)大量項目中的經(jīng)驗積累,涉及多種軟、
41、 硬件平臺的優(yōu)化。通過這種配置、優(yōu)化后對常見大型應(yīng)用可基本保證不出大的問 題。1.3.4應(yīng)用部署與測試階段這個階段是在軟件和集成都完成后,把軟件部署在新的集成平臺上并做壓力 測試的過程。在這個過程中需要對現(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ā)的時候往往也 會利用應(yīng)用服務(wù)器的特性
42、使程序效率最高。 另外,對各平臺軟、 硬件及應(yīng)用性能 的監(jiān)控和性能診斷能力已成為系統(tǒng)整體性能的關(guān)鍵保障。下面將分別展開1.4.1 數(shù)據(jù)庫配置及優(yōu)化方法數(shù)據(jù)庫是應(yīng)用的核心, 做好數(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ù)庫和管理,如何改善應(yīng)用的查詢性能,一般可以使用分區(qū) 這種手段。所謂分區(qū)就是動態(tài)地將表中記錄分離到若干不同的表空間上,使數(shù)據(jù)在物理上被分割開來,便于維護、備份、恢復(fù)、事務(wù)及查詢性能。當(dāng)使用的時候可建立 一個連接所有分區(qū)的視圖,使其在邏輯上仍以一個整體出現(xiàn)。ORACLE進了數(shù)據(jù)分區(qū)的技術(shù),以加強對 VLDB的支持。當(dāng)表的數(shù)據(jù)增大時,數(shù)據(jù)的載入/載出、備份/恢復(fù)占
45、用了大量的時間,也使 數(shù)據(jù)庫管理員的任務(wù)變得復(fù)雜、繁瑣,直接影響系統(tǒng)的可用性。所以,為了便于 管理、提高關(guān)鍵數(shù)據(jù)的可用性、提高查詢的性能,ORACLE可基于一定的關(guān)鍵值把表和索引分為若干可管理的小塊 一一區(qū),由于每個分區(qū)的操作是相對獨立的, 從而避免因一部分數(shù)據(jù)的無法訪問而影響其他分區(qū)的數(shù)據(jù)的使用。這帶來兩方面的好處:第一、提高性能,只對存有被查數(shù)據(jù)的分區(qū)進行查找,從而加快速度; 第二、高可用性,備份/恢復(fù)可以以分區(qū)為單位進行,減少管理時間;另外,數(shù) 據(jù)是基于分區(qū)管理的,硬件的失敗只會影響本地分區(qū),不影響其他分區(qū)上的數(shù)據(jù) 的操作,從而提高系統(tǒng)的可用性。這種分區(qū)的機制,對應(yīng)用系統(tǒng)是透明的。圖1-
46、3數(shù)據(jù)庫分區(qū)技術(shù)Oracle的分區(qū)(Partitioning Option)方式有 hash,range和 composite 多種。這種靈活的分區(qū)方式好處是:目標(biāo)準確的數(shù)據(jù)服務(wù)器管理高可用性應(yīng)用性能提高由于結(jié)構(gòu)的限制,多數(shù)服務(wù)器的分區(qū)導(dǎo)致為提高性能以犧牲目標(biāo)準確的數(shù)據(jù) 服務(wù)器管理和高可用性為代價。必須在它們之間作出選擇。Oracle的composite分 區(qū)方法則消除了這種情況。采用Oracle的分區(qū),數(shù)據(jù)的存儲、管理、訪問和備份都完全按你的業(yè)務(wù)要 求。例如許多公司喜歡按日期分區(qū),當(dāng)數(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),具有大計算能力,并且有很好的擴充性,然而,如果應(yīng)用軟件不 能有效地利用這些計算機的特點,那么計算的能力將受到限制。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ù)庫交互。 當(dāng)一個用戶需要使用 ( select 、insert 、update 或 delete )數(shù)據(jù)庫中的數(shù)據(jù)時, 他需要連接到數(shù)據(jù)庫。在大多數(shù) UNIX 系統(tǒng)中, Oracle 使用兩任務(wù)體系結(jié)構(gòu)。在 這個模式中, 當(dāng)一個用戶連接到數(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)器的職責(zé)如下:1)將功能分解為并行的小片。2)確保可以得到足夠數(shù)量的并行查詢伺服器。3)為給定的工作初始化伺服器進程,并在 P Q O 服務(wù)器的進程之間分派工 作。4)從伺服器進程收集輸出并將輸出返回。5)當(dāng)完成預(yù)期的工作后, 查詢伺服器進程被釋放, 并可由其他的工作獲得。 在最有利的情況下, 并行執(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)系。當(dāng)一個會話完成加載后,Oracle將加載的區(qū)間與已有的區(qū)間連接到一起, 上次加載區(qū)間中沒有使用的塊作為空區(qū)間返回, 這導(dǎo)致加載之后非標(biāo)準 大小的區(qū)間。 即使通過加載控制文件中的存儲子句選項指定了區(qū)間大小, 截斷也會發(fā)生。14123 并行恢復(fù)(parallel recovery技術(shù)
54、在VLDB中中當(dāng)數(shù)據(jù)庫出現(xiàn)意外損壞而需要恢復(fù)時,ORACLE提供了并行恢復(fù)的機制使系統(tǒng)的恢復(fù)進間盡量縮短。Oracle 的基本讀 -寫單位是數(shù)據(jù)塊。每當(dāng)對塊進行修改時, Oracle 將這些改 變以重做日志的形式記錄下來, 如果需要時, 可以使用這些日志重建這些塊。 如 果由于介質(zhì)失效或任何其他的原因而造成當(dāng)前數(shù)據(jù)文件的內(nèi)容丟失, 那么這些文 件可以從適當(dāng)?shù)膫浞菘截愔兄亟?,然后進行恢復(fù)?;謴?fù)過程包括以下步驟:1 )讀日志文件并獲得數(shù)據(jù)塊的修改序列號。2 )決定哪一個數(shù)據(jù)塊需要改變。3 )在高速緩存中讀這些數(shù)據(jù)塊。4 )從重做日志中將相應(yīng)的改變應(yīng)用到這些數(shù)據(jù)塊。5 )將修改完成的數(shù)據(jù)塊寫回硬盤。為在并行狀態(tài)下進行恢復(fù),需要設(shè)置初始化參數(shù)RECOVERY_PARALLELISM也可以使用RECOVEF命令的PARALLEL子句代替。在并行恢復(fù)過程中,服務(wù)器 管理器或SQLDBA會話讀重做日志文件并將改變傳遞給并行服務(wù)器進程。然后這些進程讀相應(yīng)的數(shù)據(jù)文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中語文課堂如何讓學(xué)生“動”起來
- 加油員簽合同范本
- 商鋪二租合同范本
- 合作食品合同范本
- 從功能視角解析英語廣告語篇及其翻譯策略
- 商標(biāo)質(zhì)押合同范本
- 買賣豬仔籠子合同范本
- 物聯(lián)網(wǎng)賦能:汽車備件物流管理模式的革新與優(yōu)化
- 反聘勞動合同范本
- 亞克力材料加工合同范本
- 社會工作-心理學(xué)視角下的校園欺凌認知與對策研究論文
- 面神經(jīng)炎臨床路徑
- 月光奏鳴曲全面版
- 2022年湖北省中小學(xué)教師高級職稱專業(yè)水平能力測試模擬題
- 中小學(xué)校傳染病預(yù)防控制工作管理規(guī)范及常見傳染病預(yù)課件
- 數(shù)控車床操作培訓(xùn)課件
- 工程經(jīng)濟學(xué)-邵穎紅-第五版-課后作業(yè)
- 第三方檢查應(yīng)對措施方案
- 2020年財產(chǎn)保險公司部門職責(zé)和崗位說明書
- TBA19利樂灌裝機操作手冊
- 人力資源管理咨詢實務(wù)人力資源總監(jiān)手冊
評論
0/150
提交評論