Share via


移轉效能:SQL Server 至 Azure SQL 受控執行個體的效能基準

適用於:Azure SQL 受控執行個體

建立效能基準,以比較 SQL 受控執行個體上工作負載的效能與 SQL Server 上執行的原始工作負載。

建立基準

在理想的情況下,移轉後的效能應會相近或更好,因此請務必測量並記錄來源的基準效能值,然後將其與目標環境進行比較。 效能基準是一組參數,可定義來源上的平均工作負載。

選取一組對商務工作負載來說很重要的查詢,以代表您的商務工作負載。 測量並記錄這些查詢的最小/平均/最大持續時間與 CPU 使用量,以及來源伺服器上的效能計量,例如平均/最大 CPU 使用量、平均/最大磁碟 IO 延遲、輸送量、IOPS、平均/最大頁面的預期壽命,以及 tempdb 的平均大小上限。

下列資源可協助定義效能基準:

  • 監視 CPU 使用量
  • 監視記憶體使用量並判斷不同元件所使用的記憶體數量,例如緩衝集區、計畫快取、資料行存放區集區、記憶體內部 OLTP等等。此外,您應該會找到頁面的預期壽命記憶體效能計數器平均值和尖峰值。
  • 使用 sys.dm_io_virtual_file_stats 檢視或效能計數器,監視來源 SQL Server 執行個體上的磁碟 IO 使用量。
  • 檢查動態管理檢視以監視工作負載和查詢效能 (如果您是從 SQL Server 2016 和更新版本進行移轉,則檢查查詢存放區)。 識別工作負載中最重要查詢的平均持續時間和 CPU 使用量。

在移轉之前,您應該先解決來源 SQL Server 的任何效能問題。 如果您將已知問題移轉至任何新系統,可能會導致非預期的結果,並讓任何效能比較失效。

效能比較

定義基準之後,請比較目標 SQL 受控執行個體上類似的工作負載效能。 為了確保精確度,SQL 受控執行個體環境必須盡可能地與 SQL Server 環境位於可比較的基準點上。

有些 SQL 受控執行個體的基礎結構差異會讓效能比對難以進行。 某些查詢的執行速度可能比預期更快,而其他查詢的執行速度則可能比較慢。 這項比較的目標是確認受控執行個體的工作負載效能 (平均) 符合 SQL Server 的效能,並找出任何與原始效能不一致的關鍵查詢。

效能比較可能會導致下列結果:

  • 受控執行個體上的工作負載效能和來源 SQL Server 上的工作負載效能一致或更好。 若是這種情況,您已順利確認移轉成功。

  • 工作負載中的大部分效能參數和查詢都如預期般執行,但有些例外狀況會導致效能降低。 若是這種情況,請找出差異及其重要性。 如果有一些重要查詢的效能降低,請調查基礎 SQL 計畫是否已變更,或查詢是否已達資源限制。 您可以直接對重要查詢套用一些提示來緩解這個問題 (例如,變更相容性層級、舊版基數估算器),或使用計畫指南來進行此作業。 確定這兩個環境中的統計資料和索引都是最新狀態且相同。

  • 相較於來源 SQL Server 執行個體,大部分受控執行個體上的查詢速度較慢。 在此情況下,請嘗試找出差異的根本原因,例如是否已達某些資源限制 (例如 IO、記憶體或執行個體記錄速率限制)。 如果沒有任何資源限制導致此差異,請嘗試變更資料庫的相容性層級,或變更資料庫設定 (例如舊版基數估計),然後重新執行測試。 檢閱受控執行個體或查詢存放區檢視提供的建議,以找出效能迴歸的查詢。

SQL 受控執行個體具有預設啟用的內建自動計畫修正功能。 這項功能可確保過去正常運作的查詢不會在未來降級。 如果未啟用此功能,請使用舊的設定執行工作負載,以便 SQL 受控執行個體掌握效能基準。 然後,啟用此功能,並使用新的設定再次執行工作負載。

變更測試參數或升級至較高的服務層級,以達到符合需求的工作負載效能最佳設定。

監視效能

SQL 受控執行個體提供用於監視和疑難排解的進階工具,您應該使用這些工具來監視執行個體的效能。 下列是一些要監視的重要計量:

  • 執行個體的 CPU 使用量,以判斷所佈建的虛擬核心數目是否切合您的工作負載。
  • 受控執行個體的頁面壽命預期,以判斷您是否需要額外的記憶體
  • 可識別儲存體 IO 問題的 INSTANCE_LOG_GOVERNOR 或 PAGEIOLATCH 等統計資料,尤其是在一般用途層上,您可能需要預先配置檔案,以取得更好的 IO 效能。

考量

比較效能時,請注意下列各項:

  • 來源與目標之間的設定必須相符。 驗證這兩個環境之間的各種執行個體、資料庫和 tempdb 設定相等。 設定、相容性層級、加密設定、追蹤旗標等差異都可能對效能有所影響。

  • 儲存體是根據最佳做法進行設定。 例如,針對一般用途,您可能需要預先配置檔案大小以改善效能。

  • 有些主要環境差異可能會導致受控執行個體與 SQL Server 之間的效能差異。 找出可能會對效能問題造成影響的環境相關風險。

  • 您應在 SQL 受控執行個體上啟用查詢存放區和自動調整,因為其有助於測量工作負載效能,並自動緩解潛在的效能問題。

後續步驟

如需將新的 Azure SQL 受控執行個體環境最佳化的詳細資訊,請參閱下列資源: