匯出 (0) 列印
全部展開

Azure 虛擬機器中 SQL Server 的效能最佳作法

更新日期: 2014年6月

在 Azure 虛擬機器中執行 SQL Server 時,建議您繼續使用適用於內部部署伺服器環境中之 SQL Server 的相同資料庫效能微調選項。然而,公用雲端中的關聯式資料庫的效能取決於許多因素,例如虛擬機器的大小和資料磁碟的組態。

本主題提供將 Azure 虛擬機器 (VM) 中 SQL Server 效能最佳化的最佳作法。

重要注意事項:如需完整資訊,請參閱<Azure 虛擬機器中的 SQL Server 效能指引>白皮書。

以下是您可以遵循的快速檢查清單:

  • 將最小標準層 A2 使用於 SQL Server VM。

  • 將儲存體帳戶和 SQL Server VM 放在相同區域中。

  • 在儲存體帳戶上停用 Azure 地理複寫。

  • 避免使用作業系統或暫存磁碟進行資料儲存或記錄。

  • 避免使用 Azure 資料磁碟快取選項 (快取原則 = 無)。

  • 等量處理多個 Azure 資料磁碟,以提高 IO 輸送量。

  • 以記載的配置大小進行格式化。

  • 區隔資料和記錄檔 I/O 路徑,以取得資料和記錄的專屬 IOP。

  • 啟用資料庫頁面壓縮。

  • 啟用資料檔案的立即檔案初始化。

  • 在資料庫上限制或停用 autogrow。

  • 在資料庫上停用 autoshrink。

  • 將所有資料庫移至資料磁碟,包括系統資料庫。

  • 將 SQL Server 錯誤記錄檔和追蹤檔案移至資料磁碟。

  • 套用 SQL Server 效能修正程式。

  • 安裝程式預設位置。

  • 啟用鎖定的頁面。

  • 直接備份至 Blob 儲存體。

如需相關資訊,請遵循下列小節中提供的指導方針。

對於效能敏感應用程式,建議您使用下列虛擬機器大小:

  • SQL Server Enterprise Edition: 標準層 A3 或更高

  • SQL Server Standard Edition: 標準層 A2 或更高

如需支援的虛擬機器大小最新資訊,請參閱 Azure 的虛擬機器和雲端服務大小

此外,建議您在與 SQL Server 虛擬機器相同的資料中心內建立 Azure 儲存體帳戶,以減少傳輸延遲。建立儲存體帳戶時,停用地理複寫,因為不保證多個磁碟的寫入順序一致。請考慮設定兩個 Azure 資料中心之間的 SQL Server 災害復原技術。如需詳細資訊,請參閱Azure 虛擬機器中的 SQL Server 高可用性和災害復原

當您建立 Azure 虛擬機器時,此平台將會為作業系統磁碟至少會在 VM 中連接一個磁碟。此磁碟是儲存體中儲存為分頁 Blob 的 VHD。您也可以將其他磁碟連接到虛擬機器作為資料磁碟,然後這些磁碟會在儲存體中儲存為分頁 Blob。在 Azure 虛擬機器中,有另一個稱為暫存磁碟的磁碟存在。此為節點上的磁碟,可用於臨時空間。

作業系統磁碟是指可開機且裝載為執行中作業系統版本的 VHD,且會標示為 C 磁碟機。

作業系統磁碟上的預設快取原則為 [讀取/寫入]。對於效能敏感應用程式,建議您使用資料磁碟而非作業系統磁碟。將一或多個資料磁碟附加至您的虛擬機器,而不需變更預設快取原則 (資料磁碟的快取原則為 [無])。

暫存磁碟機 (標示為 D: 磁碟機)不會保存到 Azure Blob 儲存體。請不要將您的資料或記錄檔儲存在 D:磁碟機。

只有在使用 D 系列虛擬機器 (VM) 時,才可將 tempdb 和 (或) 緩衝區集區延伸模組儲存在 D 磁碟機上。不同於其他 VM 系列,D 系列 VM 中的 D 磁碟機是以 SSD 為基礎的。這可以為大量使用暫存物件或工作集沒有足夠記憶體可用的工作量改善效能。如需詳細資訊,請參閱在 Azure VM 中使用 SSD 儲存 SQL Server TempDB 和緩衝區集區延伸模組

  • 資料磁碟數目:對於輸送量敏感應用程式,建議您附加 VM 大小所允許的最大磁碟數目。請注意,如果您的工作量在最大 IOP 限制範圍內,則新增更多資料磁碟並不會改善延遲情況。

    如需有關各磁碟的最大 IOP 資訊,請參閱 Azure 的虛擬機器和雲端服務大小

  • 快取原則:在資料磁碟上,依預設會停用讀取和寫入快取。請使用此預設值,在資料磁碟上不要啟用任何快取。如需磁碟快取的詳細資訊,請參閱<管理磁碟和映像>。

    如需設定磁碟快取的指示,請參閱下列主題:Set-AzureOSDiskSet-AzureDataDisk使用 Azure PowerShell Cmdlet 管理虛擬機器

  • NTFS 配置單位大小:在格式化資料磁碟時,建議您對資料和記錄檔案以及 tempdb 使用 64-KB 配置單位大小。

  • 磁碟條狀配置:建議您遵循下列指導方針:

    • 對於 Windows 8/Windows Server 2012 或更新版本,請使用儲存體空間。將 OLTP 工作量的等量磁碟區大小設定為 64 KB,並將資料倉儲工作量的等量磁碟區大小設定為 256 KB,以避免分割對齊錯誤引起的效能影響。此外,設定 column count = number of physical disks。如需如何設定儲存體空間的詳細資訊,請參閱 Windows PowerShell 中的儲存體空間 Cmdlet

    • 對於 Windows 2008 R2 或更早版本,您可以使用動態磁碟 (OS 等量的磁碟區),且等量磁碟區大小一律為 64 KB。請注意,此選項已從 Windows 8/Windows Server 2012 起棄用。如需相關資訊,請參閱虛擬磁碟服務正轉換至 Windows 存放管理 API 中的支援聲明。

  • 資料和記錄檔放置:如果您的工作量不需要大量記錄且不需要專屬的 IOP,您可以只設定一個儲存集區。否則,對於允許附加超過 4 個磁碟的 VM,請將資料和記錄檔放在個別的磁碟或儲存集區上。對於標準層 A2,我們建議為資料檔案和 tempdb 設定三個資料磁碟,而為記錄檔設定一個資料磁碟。視您的工作量需要大量的資料或記錄檔而定,您可以視情況調整資料或記錄檔儲存集區專屬的磁碟數目。

  • 考慮使用資料庫頁面壓縮,其有助於改善 I/O 密集型工作負載的效能。不過,資料壓縮可能會增加資料庫伺服器的 CPU 使用量。

  • 對 Azure 來回傳送檔案時,請考慮壓縮所有資料檔案。

  • 請考慮啟用立即檔案初始化功能,減少初始檔案配置所需的時間。為了利用立即檔案初始化功能,您必須授與 SQL Server (MSSQLSERVER) 服務帳戶的 SE_MANAGE_VOLUME_NAME,並將其新增至執行磁碟區維護工作安全性原則。如果使用 Azure 的 SQL Server 平台映像,則不會將預設服務帳戶 (NT Service\MSSQLSERVER) 新增至執行磁碟區維護工作安全性原則。換句話說,SQL Server Azure 平台映像中不會啟用立即檔案初始化功能。將 SQL Server 服務帳戶新增至執行磁碟區維護工作安全性原則之後,請重新啟動 SQL Server 服務。如需詳細資訊,請參閱資料庫檔案初始化

  • autogrow 只不過是非預期成長的偶發事件。請勿利用 autogrow 每天管理您的資料和記錄檔成本。如果使用 autogrow,使用 [大小] 參數將檔案預先加大。

  • 確定 autoshrink 已停用,以避免可能對效能造成負面影響的不必要負荷。

  • 如果您使用 SQL Server 2012,請安裝 Service Pack 1 累積更新 10。此更新包含當您在 SQL Server 2012 中執行 select into temporary table 陳述式時 I/O 效能不佳的修正程式。如需相關資訊,請參閱此知識庫文章

  • 移動系統資料庫 (例如 msdbtempdb)、將 SQL Server 的預設資料和記錄檔目錄備份至非快取的資料磁碟,以改善效能。然後,執行下列動作:

    • 調整 XEvent 和追蹤檔案路徑。

    • 調整 SQL 錯誤記錄檔路徑。

    • 調整預設備份路徑。

    • 調整預設資料庫位置。

  • 建立鎖定的頁面,以減少 IO 和任何分頁活動。

有些部署可利用更進階的設定技巧,達到其他效能優勢。下列清單強調一些可協助您達到更高效能的 SQL Server 功能:

另請參閱

顯示:
© 2014 Microsoft