發(fā)布時間: 2017-06-16 14:08:50
數(shù)據(jù)庫管理系統(tǒng)是現(xiàn)代應用程序的核心,保持數(shù)據(jù)庫平穩(wěn)順暢運行是組織必須保證的底線。數(shù)據(jù)庫性能工具可以幫助數(shù)據(jù)庫管理員優(yōu)化系統(tǒng)操作,避免或者預防性能問題。但是,在購買這些工具之前,DBA和IT經(jīng)理們應該對評估不同產(chǎn)品要考慮的關(guān)鍵功能特性有明確的理解和認識。
在構(gòu)建數(shù)據(jù)庫性能管理能力時,有三種類型的工具可供考慮:其一是確保數(shù)據(jù)庫系統(tǒng)級的性能水平最優(yōu)化,其二是管理數(shù)據(jù)庫結(jié)構(gòu)的性能,幫助維護數(shù)據(jù)庫中保存數(shù)據(jù)的效率,第三是監(jiān)控SQL和應用性能,識別可以改善應用程序代碼的問題點。
為幫助你判斷組織需要哪些工具,我們下面會針對每種類型來介紹應該關(guān)注的功能特性。
不同的數(shù)據(jù)庫性能工具提供了什么功能?
數(shù)據(jù)庫系統(tǒng)監(jiān)控和管理工具。這類型軟件關(guān)注數(shù)據(jù)庫系統(tǒng)內(nèi)部因素,包括系統(tǒng)資源和數(shù)據(jù)庫系統(tǒng)參數(shù)。它可以持續(xù)監(jiān)視和報告數(shù)據(jù)庫的狀態(tài),DBA可以設置性能閾值,一旦達到某個值就會觸發(fā)告警。這些工具通常會提供一個指示面板,展示各種關(guān)鍵性能指標和閾值,同時還會有修改這些閾值設置以及其它參數(shù)的功能界面。這些界面通常會提供配置報表需求的機制,可以生成或定時生成生產(chǎn)環(huán)境的數(shù)據(jù)庫性能報告。
此外,好的數(shù)據(jù)庫系統(tǒng)性能工具還可以提供數(shù)據(jù)庫資源使用量的信息,例如緩存池消耗的內(nèi)存,CPU利用率,頁面鎖情況。更高級的工具還可以根據(jù)測量到的系統(tǒng)資源使用量提供性能優(yōu)化推薦配置。
因為大多數(shù)數(shù)據(jù)庫部署場景都不會只有一個實例,系統(tǒng)級的數(shù)據(jù)庫性能工具應該能提供統(tǒng)一視圖,使DBA可以在一個界面上管理多個實例。這種功能包括諸如自動恢復數(shù)據(jù)庫實例的功能,以及定制安裝向?qū)Чδ堋?/span>
數(shù)據(jù)庫結(jié)構(gòu)監(jiān)控和管理產(chǎn)品。這種工具為DBA提供的功能可以幫助識別、分析和修復數(shù)據(jù)庫空間碎片和空間使用問題。數(shù)據(jù)庫分析工具監(jiān)控、審查并對數(shù)據(jù)庫結(jié)構(gòu)存儲方面的信息進行報告,例如表空間和索引,分析并改進空間利用率。
這些產(chǎn)品還可以自動分析可利用空間,管理諸如空間不足的問題,設定數(shù)據(jù)庫對象可用空間上限,管理混亂和分散的數(shù)據(jù)。產(chǎn)品還提供達到這些條件后自動向DBA告警的功能。
許多數(shù)據(jù)庫結(jié)構(gòu)化性能工具還提供糾正問題的功能,這些產(chǎn)品可以給數(shù)據(jù)分配更多存儲空間或者重組數(shù)據(jù)。重組數(shù)據(jù)就是重新整理數(shù)據(jù),通常包含多個步驟的處理過程,必須對這些步驟管理執(zhí)行。一些高級工具提供了識別數(shù)據(jù)庫結(jié)構(gòu)的能力,同時不影響數(shù)據(jù)庫正常運行和提供給應用訪問。
SQL監(jiān)控和管理軟件。這類型工具監(jiān)視SQL的運行,支持DBA或數(shù)據(jù)庫性能分析師基于資源利用率識別潛在問題程序和問題SQL語句。例如,SQL監(jiān)控器可以按CPU利用率或者I/O請求量排序,所以關(guān)注優(yōu)化最消耗資源的SQL語句就更容易些了。SQL監(jiān)控工具還應該能找到SQL語句的調(diào)用源頭,掌握SQL是來自某個特殊程序、存儲過程、觸發(fā)器還是終端用戶。
在找到可能存在問題的語句之后,具備訪問計劃分析功能的SQL數(shù)據(jù)庫性能工具可以針對個別語句和程序檢查訪問計劃。訪問計劃是由數(shù)據(jù)庫優(yōu)化器組件制定的,包含的實際方法將用于規(guī)劃數(shù)據(jù)庫訪問請求數(shù)據(jù)的計劃。這些工具簡化了SQL優(yōu)化圖表,可以直接可視化地展示解釋路徑,SQL優(yōu)化向?qū)Э梢杂糜趦?yōu)化性能并推薦修改SQL代碼的方法。(注:訪問計劃指的是語句執(zhí)行計劃,是數(shù)據(jù)庫收到SQL執(zhí)行請求后對語句的詳細處理過程。后文訪問路徑亦是此意。)
一些SQL數(shù)據(jù)庫性能工具還提供了模擬生產(chǎn)環(huán)境的測試功能。通常,測試環(huán)境與生產(chǎn)環(huán)境的系統(tǒng)資源是不一樣的,因此SQL訪問路徑可能差異很大,即便SQL代碼沒有任何變化執(zhí)行情況可能也不一樣。這些工具可以在測試環(huán)境模擬生產(chǎn)環(huán)境來消除這類問題。
市場上領(lǐng)先的供應商提供的數(shù)據(jù)庫性能工具都涉及上述各種類型的功能特性。每種類型都有專門的工具可選,也有一些工具提供的功能涵蓋了以上各類型。
選擇性能工具的其它考慮因素
評估數(shù)據(jù)庫性能工具時,還有下面一些重要因素要考慮:
待管理數(shù)據(jù)庫類型有多種。異構(gòu)數(shù)據(jù)庫性能工具可以管理不同類型的數(shù)據(jù)庫,使用相同或相似的界面,而同構(gòu)數(shù)據(jù)庫性能工具只能管理一種類型的數(shù)據(jù)庫。主要使用固定一種數(shù)據(jù)庫的機構(gòu),或者每位DBA專攻特定數(shù)據(jù)庫的機構(gòu),應該考慮選擇同構(gòu)數(shù)據(jù)庫性能工具,因為這種數(shù)據(jù)庫性能工具可以對具體某一種數(shù)據(jù)庫提供更全面的性能管理功能,這樣查找和修復問題就更容易一些。
對于使用多種數(shù)據(jù)庫類型的網(wǎng)站,DBA人員數(shù)量是有限的,這種時候異構(gòu)數(shù)據(jù)庫性能管理工具就有優(yōu)勢了,它們可以為每種數(shù)據(jù)庫提供類似的功能,使得DBA監(jiān)管多種平臺更容易。此外,異構(gòu)工具可以屏蔽不同數(shù)據(jù)庫之間的差異,簡化性能監(jiān)控和優(yōu)化任務。
不過,在選擇異構(gòu)工具時,要確保全面了解它對每種數(shù)據(jù)庫支持的功能,是否能滿足組織需要。這種類型的工具為所支持的每種數(shù)據(jù)庫提供的性能管理功能在廣度和深度方面差異很大,這是很常見的。
隨時間推移持續(xù)度量。數(shù)據(jù)庫性能工具具備識別和解決當前問題的功能是非常重要的,更重要的是還要能隨著時間推移持續(xù)監(jiān)控和分析數(shù)據(jù)庫性能指標。大多數(shù)監(jiān)視數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫結(jié)構(gòu)和SQL的工具還會存儲歷史性能數(shù)據(jù)明細。這一特性通常稱為數(shù)據(jù)庫性能數(shù)據(jù)倉庫,或者叫歷史性能表。
保存數(shù)據(jù)庫性能歷史數(shù)據(jù)會幫助你識別長時間運行時的性能趨勢。例如,根據(jù)性能度量的歷史記錄,你可以判斷性能比以前更好了還是更差了。此外,建立性能基線,基于此基線度量未來性能情況也是重要功能,這種功能只有存儲了歷史性能數(shù)據(jù)才可能實現(xiàn)。
成本和支持。數(shù)據(jù)庫性能工具的成本也因工具類型的不同而差異很大,供應商及其使用的報價方式都有很大差異。一些異構(gòu)工具供應商按基礎(chǔ)工具收費,而且管理不同的數(shù)據(jù)庫類型要單獨收費。還有的廠商基于管理的實例大小報價,也有的按使用產(chǎn)品時間按年計費。支持服務通常是7*24在線支持或電話支持。選擇支持隨時電話響應的供應商是非常明智的決定。
一旦你理解了不同數(shù)據(jù)庫性能管理工具的核心需求和功能,下一步就是了解每種數(shù)據(jù)庫工具領(lǐng)域中排行靠前的供應商和他們提供的數(shù)據(jù)庫性能管理產(chǎn)品。
上一篇: 在HTTPS安全頁面中加載HTTP不安全的內(nèi)容,如何繞過安全警告?
下一篇: “id串行化”的實現(xiàn)方式