數(shù)據(jù)庫服務(wù)器負(fù)荷的分析與優(yōu)化
優(yōu)化較大的工作負(fù)荷會(huì)對所優(yōu)化的服務(wù)器產(chǎn)生很大的開銷。開銷是由數(shù)據(jù)庫引擎優(yōu)化顧問在優(yōu)化進(jìn)程中多次調(diào)用查詢優(yōu)化器導(dǎo)致的。如果除生產(chǎn)服務(wù)器以外,再使用一臺(tái)測試服務(wù)器,則可以消除此開銷問題。
數(shù)據(jù)庫引擎優(yōu)化顧問如何使用測試服務(wù)器
使用測試服務(wù)器的傳統(tǒng)方法是將所有數(shù)據(jù)從生產(chǎn)服務(wù)器復(fù)制到測試服務(wù)器,優(yōu)化測試服務(wù)器,然后在生產(chǎn)服務(wù)器上實(shí)現(xiàn)建議。此過程可以消除對生產(chǎn)服務(wù)器的性能影響,但這不是***解決方案。例如,將大量數(shù)據(jù)從生產(chǎn)服務(wù)器復(fù)制到測試服務(wù)器可能消耗大量時(shí)間和資源。此外,測試服務(wù)器硬件很少像生產(chǎn)服務(wù)器中部署的硬件那樣功能強(qiáng)大。優(yōu)化進(jìn)程依賴于查詢優(yōu)化器,而它生成的建議部分依賴于基礎(chǔ)硬件。如果測試服務(wù)器硬件和生產(chǎn)服務(wù)器硬件不相同,數(shù)據(jù)庫引擎優(yōu)化顧問建議的質(zhì)量就會(huì)降低。
若要避免出現(xiàn)這些問題,數(shù)據(jù)庫引擎優(yōu)化顧問將通過把大部分優(yōu)化負(fù)荷轉(zhuǎn)移到測試服務(wù)器,優(yōu)化生產(chǎn)服務(wù)器上的數(shù)據(jù)庫。它通過使用生產(chǎn)服務(wù)器硬件配置信息,而不是真正地將數(shù)據(jù)從生產(chǎn)服務(wù)器復(fù)制到測試服務(wù)器,來執(zhí)行該操作。數(shù)據(jù)庫引擎優(yōu)化顧問不會(huì)將實(shí)際數(shù)據(jù)從生產(chǎn)服務(wù)器復(fù)制到測試服務(wù)器中。它僅復(fù)制元數(shù)據(jù)和必要的統(tǒng)計(jì)信息。
下列步驟概要介紹了用于在測試服務(wù)器上優(yōu)化生產(chǎn)數(shù)據(jù)庫的過程:
1. 確保兩臺(tái)服務(wù)器上都存在要使用測試服務(wù)器的用戶。
開始之前,請確保兩臺(tái)服務(wù)器上都存在要使用測試服務(wù)器來優(yōu)化生產(chǎn)服務(wù)器上的數(shù)據(jù)庫的用戶。這就需要您在測試服務(wù)器上創(chuàng)建用戶及其登錄帳戶。如果您在兩臺(tái)計(jì)算機(jī)上都是 sysadmin 固定服務(wù)器角色成員,將不需要執(zhí)行此步驟。
2. 優(yōu)化測試服務(wù)器上的工作負(fù)荷。
若要優(yōu)化測試服務(wù)器上的工作負(fù)荷,必須通過 dta 命令行實(shí)用工具使用 XML 輸入文件。在 XML 輸入文件中,在 TuningOptions 父元素下使用 TestServer 子元素指定測試服務(wù)器的名稱,并為其他子元素指定值。
在優(yōu)化進(jìn)程中,數(shù)據(jù)庫引擎優(yōu)化顧問將在測試服務(wù)器上創(chuàng)建 Shell 數(shù)據(jù)庫。若要?jiǎng)?chuàng)建此 Shell 數(shù)據(jù)庫并對其進(jìn)行優(yōu)化,數(shù)據(jù)庫引擎優(yōu)化顧問需要在下列情況下調(diào)用生產(chǎn)服務(wù)器:
a. 數(shù)據(jù)庫引擎優(yōu)化顧問將元數(shù)據(jù)從生產(chǎn)數(shù)據(jù)庫導(dǎo)入到測試服務(wù)器 Shell 數(shù)據(jù)庫。此元數(shù)據(jù)包括空表、索引、視圖、存儲(chǔ)過程和觸發(fā)器等。這使得對測試服務(wù)器 Shell 數(shù)據(jù)庫執(zhí)行工作負(fù)荷查詢成為可能。
b. 數(shù)據(jù)庫引擎優(yōu)化顧問從生產(chǎn)服務(wù)器導(dǎo)入統(tǒng)計(jì)信息,以便查詢優(yōu)化器可以準(zhǔn)確優(yōu)化對測試服務(wù)器的查詢。
c. 數(shù)據(jù)庫引擎優(yōu)化顧問從生產(chǎn)服務(wù)器導(dǎo)入指定處理器數(shù)和可用內(nèi)存量的硬件參數(shù),為查詢優(yōu)化器提供生成查詢計(jì)劃所需的信息。
3. 數(shù)據(jù)庫引擎優(yōu)化顧問優(yōu)化完測試服務(wù)器 Shell 數(shù)據(jù)庫后,將生成優(yōu)化建議。
4. 將通過優(yōu)化測試服務(wù)器得到的建議應(yīng)用于生產(chǎn)服務(wù)器。
注意:在數(shù)據(jù)庫引擎優(yōu)化顧問的圖形用戶界面 (GUI) 中不支持測試服務(wù)器優(yōu)化功能。