加速和調整效能

已完成

理解加速和調整 Azure SQL 效能的選項,是繼續提供一致效能的關鍵。 這包括了解如何調整 CPU 容量、提高 I/O 效能、設定記憶體和背景工作角色、改善應用程式延遲,以及套用標準的 SQL Server 調整最佳做法。

調整 CPU 容量

您可能需要針對資源需求調整 CPU 數目。 在內部部署環境中,這會要求您重新設定 VM、變更硬體,甚至是遷移您的資料庫。 Azure SQL 可讓您執行此動作,但不需要在您的元件上進行任何移轉。 您可使用入口網站、T-SQL、Azure CLI 或 REST API,為部署增加或減少虛擬核心數目。

調整作業通常需要停機,但不需要移轉的 Azure SQL Database 會非常快。 超大規模資料庫部署可供在持續的時間內調升規模,不論資料大小為何;無伺服器部署則可根據 CPU 需求自動調整。

注意

Azure SQL 受控執行個體擴充可能需要很長的時間,但不需要任何移轉。

I/O 效能

I/O 效能對資料庫應用程式而言很重要。 Azure SQL 使你免於放置實體檔案,但有一些方法可確保取得所需的 I/O 效能。

對應用程式而言,每秒的輸入/輸出 (IOPS) 可能很重要。 請確定您已針對您的 IOPS 需求,選擇正確的服務層級和 V 核心。 了解要遷移至 Azure 時,如何測量內部部署查詢的 IOPS。 如果限制 IOPS,則可能會看到長時間的 I/O 等候。 在 V 核心購買模型中,如果您沒有足夠的 IOPS,可以購買模型 V 核心或移至業務關鍵或超大規模資料庫。 針對生產工作負載,當使用 DTU 時,建議您移至進階層。

I/O 延遲是 I/O 效能的另一個重要元件。 如需加快 Azure SQL Database 的 I/O 延遲,請考慮使用業務關鍵或超大規模資料庫。 如需加快 SQL 受控執行個體的 I/O 延遲,請移至業務關鍵或增加資料庫的檔案大小或檔案數目。 改善交易記錄延遲可能會要求您使用多重陳述式交易。

增加記憶體或背景工作角色

對應用程式和部署而言,擁有足夠的記憶體或背景工作角色可能很重要。 針對 Azure SQL Database,增加虛擬核心可提高記憶體限制或增加背景工作角色。 為 SQL 受控執行個體增加虛擬核心,以提高記憶體限制。 目前,SQL 受控執行個體也支援使用「工作者執行緒上限」來增加背景工作角色。

改善應用程式延遲

即使已針對所有資源需求設定部署,應用程式仍可能會產生延遲效能問題。 請務必遵循下列 Azure SQL 應用程式的最佳做法:

  • 使用重新導向連線類型,而不是 Proxy。
  • 您可使用預存程序,或透過批次等技術來限制查詢的往返次數,以最佳化「健談的」應用程式。
  • 將交易分組達到最佳化 (相對於單一交易)。

像 SQL Server 一樣進行調整

Azure SQL 仍然是 SQL Server。 幾乎沒有任何替代方式可確保您已調整 SQL Server 查詢,並查看下列各項:

  • 適當的索引設計
  • 使用批次
  • 使用預存程序
  • 對查詢進行參數化以避免太多快取的臨機操作查詢
  • 快速正確地處理應用程式的結果

在接下來的練習中,您會從第一個練習中取得效能問題,並藉由擴充 Azure SQL 的 CPU 來改善此問題。