共用方式為


檢查清單:最佳化 Hyper-V 上的效能

執行BizTalk Server和/或SQL Server實例 (在 Hyper-V 虛擬機器上具有BizTalk Server資料庫的) 時,適用下列考慮。

將 110%–125% 的 CPU 和磁片資源配置給 Hyper-V 虛擬機器

規劃將實體硬體解決方案所需的 110% 配置至 125% 的 CPU 資源,以及 105% - 實體硬體解決方案所需的 110% 磁片資源給解決方案所使用的 Hyper-V 虛擬機器。 藉由設定具有其他資源的 Hyper-V 虛擬機器,您將確保它可以提供與實體硬體相等的效能,同時容納 Hyper-V 虛擬化技術所需的任何額外負荷。

步驟 參考
界定BizTalk Server解決方案的硬體需求。 - To scope the hardware requirements for the solution, follow the guidance in the "Planning the Environment for BizTalk Server" section in the BizTalk Server Operations Guide.

- 若要界定方案所需的 BizTalk Server 版本和數目,請檢閱規劃BizTalk Server層中所述的BizTalk Server規劃考慮。

- 若要界定解決方案所需SQL Server電腦的版本和數目,請檢閱下列檔中的資料庫規劃考慮:
--- 「規劃資料庫層」
--- The "Performance Overhead of Running SQL Server in Hyper-V" section in the "Running SQL Server 2008 in a Hyper-V Environment Best Practices and Performance Considerations" whitepaper.

- To complete planning for development, testing, staging, and production environments, review "Planning the Development, Testing, Staging, and Production Environments".
設定BizTalk Server解決方案的硬體需求之後,請盡可能規劃使用 110% - 125% 的 CPU 和磁片資源來設定 Hyper-V 機器。 例如,如果解決方案所使用的實體BizTalk Server電腦的硬體需求決定為 2GB RAM、以 2GHZ 執行的雙核心 CPU,以及 2x 500 GB 的實體磁片,則理想情況下,解決方案所使用的 Hyper-V 虛擬機器會設定為 2 或更多執行 = 2.2 GHZ 的虛擬處理器 > ,而較快的實體磁片 (通常是藉由新增軸或使用更快的磁片) 。

優化 Hyper-V 效能

使用下列一般指導方針來設定 Hyper-V 以獲得最佳效能。

步驟 參考
套用效能微調虛擬化伺服器的建議指引。

Note: For the test scenarios described in Testing BizTalk Server Virtualization Performance, the configuration options that were applied are described in the "Physical Infrastructure Specifics" and the "Virtualization Specifics" sections in the article, Test Scenario Overview.
"Performance Tuning for Virtualization Servers" section in the article, "Performance Tuning Guidelines for Windows Server 2008 R2".
關閉任何未使用中的虛擬機器連線視窗。 在 Hyper-V 管理員中,當您按兩下虛擬機器名稱時,[虛擬機器連線] 視窗隨即出現。 這些視窗會取用其他可用資源以供使用。
關閉或最小化 Hyper-V 管理員。 Hyper-V 管理員會持續輪詢每個執行中的虛擬機器,以取得 CPU 使用率和執行時間,以取用資源。 關閉或最小化 Hyper-V 管理員會釋出這些資源。

優化 Hyper-V 環境中的磁片、記憶體、網路和處理器效能

使用下列指導方針,將 Hyper-V 虛擬環境中的磁片、記憶體、網路和處理器效能優化。

優化處理器效能

請遵循下列指導方針,將 Hyper-V 虛擬環境中執行的客體作業系統處理器效能優化:

  • 將虛擬處理器的 1 對 1 配置設定為可用的邏輯處理器,以獲得最佳效能 - 執行需要大量 CPU 的應用程式時,最佳組態是客體作業系統中虛擬處理器的 1 對 1 比率, () 主機作業系統可用的邏輯處理器。 任何其他組態,例如 2:1 或 1:2 較不有效率。 下圖說明客體作業系統中虛擬處理器核心的 1 對 1 配置, (主機作業系統可用的邏輯處理器) :

    一對一實體與虛擬處理器比例 虛擬與邏輯處理器比率

  • 請注意不同客體作業系統的虛擬處理器限制,並據以規劃 - Hyper-V 虛擬機器中執行之客體作業系統可用的處理器核心數目可能會影響託管應用程式的整體效能。 因此,應該考慮 Hyper-V 虛擬機器上將安裝哪些客體作業系統,以裝載裝載BizTalk Server資料庫的BizTalk Server和/或SQL Server實例 () 。 Hyper-V 適用于指定客體作業系統的下列虛擬處理器數目:

作業系統 虛擬處理器限制
Windows Server 2008 R2。 所有版本的 Windows Server 2008 R2 都僅限 64 位。 4
Windows Server 2008 SP2 64 位 4
Windows Server 2008 SP2 32 位 4
Windows 7 64 位 4
Windows 7 32 位 4
Windows Vista 64 位元 2
Windows Vista 32 位 2

注意

如需 Hyper-V 上支援的客體作業系統詳細資訊,請參閱Windows Server 上 Hyper-V 支援的 Windows 客體和支援的 Windows 客體作業系統

優化磁片效能

請遵循下列指導方針,將 Hyper-V 虛擬環境中執行的客體作業系統磁片效能優化:

步驟 參考
使用固定大小的虛擬硬碟 (VHD) 選項,設定虛擬磁片以與 Hyper-V 虛擬機器搭配使用。 固定大小的 VHD 提供實體磁片的效能方法,以及叢集支援和快照集磁片支援等功能的彈性。 Hyper-V 環境中的磁片儲存體可透過虛擬 IDE 控制器或虛擬 SCSI 控制器來存取。 不同于舊版的 Microsoft 虛擬化技術,在存取虛擬硬碟時,使用虛擬 IDE 控制器或虛擬 SCSI 控制器之間沒有效能差異。 下列磁片儲存體選項可用於 Hyper-V 環境中:

- 固定大小磁片 - 固定大小的虛擬硬碟 (VHD) 是根據建立時定義的磁片大小上限,預先配置在實體磁片上的資料區塊。 例如,如果您建立 100 GB 固定大小的 VHD,除了建立新的 VHD 時,Hyper-V 會配置所有 100 GB 的資料區塊儲存體,以及 VHD 頁首和頁尾所需的額外負荷。
- 動態擴充磁片 - 動態擴充的 VHD 是初始虛擬硬碟不包含任何資料區塊的 VHD。 相反地,空間會隨著資料寫入 VHD 而動態配置,最多可達建立 VHD 時所指定的大小上限。 例如,100 GB 動態擴充磁片一開始只包含 VHD 標頭,而且需要少於 2 MB 的實體儲存空間。 當虛擬機器將新資料寫入動態擴充的 VHD 時,額外的實體資料區塊會以 2 MB 的增量配置給 VHD 檔案,最多 100 GB。
- 差異磁片 - 差異磁片是一種特殊類型的動態擴充 VHD 檔案,與「父」VHD 相關聯。 在此父子式儲存體拓撲中,父磁片會保持不變,而且只會對「子系」差異磁片進行任何寫入作業。 系統會先針對差異磁片檢查任何讀取作業,以查看更新的內容是否已寫入差異磁片;如果內容不在差異磁片中,則會從父 VHD 讀取內容。 差異磁片適用于您需要維護特定基準設定的案例,而且想要輕鬆地測試並復原基準的變更。 雖然透過差異磁片提供之父/子儲存體拓撲的彈性對於測試很有用,但這不是效能的最佳設定,因為在使用差異磁片時,維護所需的父/子拓撲會有額外負荷。
- 傳遞磁片 – 傳遞磁片功能可讓客體作業系統略過 Hyper-V 主機檔案系統,並直接存取磁片。 透過傳遞提供給客體作業系統的磁片必須設定為 Hyper-V 主機中的「離線」,以確保主機和客體作業系統不會同時存取磁片。 傳遞磁片對於其他磁片儲存體選項提供臨界效能優勢,但不支援虛擬磁片的特定功能,例如虛擬機器快照集和叢集支援。 因此,不建議在 BizTalk 或SQL Server環境中使用傳遞磁片功能,因為臨界效能優點比遺漏功能所位移的還要多。

如需 Hyper-V 所提供的磁片儲存體選擇相對效能詳細資訊,請參閱部落格文章 Hyper-V 儲存體分析
使用 SCSI 控制器設定資料磁片區的磁片 建議這樣做,因為只有在已安裝 Hyper-V 整合服務時,才能安裝 SCSI 控制器,而模擬 IDE 控制器則無法使用,而不需要安裝 Hyper-V 整合服務。 使用整合服務提供的 IDE 篩選驅動程式所執行的磁片 I/O,遠優於模擬 IDE 控制器所提供的磁片 I/O 效能。 因此,若要確保 Hyper-V 虛擬化環境中資料檔案的最佳磁片 I/O 效能,請在主機和客體作業系統上安裝整合服務,並使用綜合 SCSI 控制器為數據磁片區設定磁片。 對於跨越多個資料磁片磁碟機的高密集儲存體 I/O 工作負載,每個 VHD 都應該連結至個別的綜合 SCSI 控制器,以提升整體效能。 此外,每個 VHD 都應該儲存在個別的實體磁片上。 重要: 請勿將系統磁片連結至 SCSI 控制器。 包含作業系統的虛擬硬碟必須連結至 IDE 控制器。

優化記憶體效能

請遵循下列指導方針,將 Hyper-V 虛擬環境中執行的客體作業系統記憶體效能優化:

步驟 參考
確定裝載 Hyper-V 虛擬機器的實體電腦上已安裝足夠的記憶體 - 可用實體記憶體通常是在 Hyper-V 虛擬機器上執行BizTalk Server最重要的效能因素。 這是因為每個虛擬機器都必須位於非分頁集區記憶體中,或無法分頁至磁片的記憶體。 由於非分頁集區記憶體無法分頁到磁片,裝載虛擬機器的實體電腦應該具有可用的實體記憶體,等於為每個虛擬機器配置的記憶體總和加上下列專案:
Hypervisor 的 300 MB,針對配置給每個虛擬機器的第一 GB RAM 加上另一個 8 MB,針對配置給每個虛擬機器的每個額外 GB RAM 加上 512 MB,而根分割區上執行的主機作業系統則為 512 MB
例如,如果 Hyper-V 虛擬機器在 Hyper-V 管理員中配置了 2 GB 的記憶體,則執行該 Hyper-V 虛擬機器時所使用的實際實體記憶體大約為 2388MB (300MB,供配置給虛擬機器的 Hypervisor +2GB + 32MB + 8MB = 2388MB) 。 因為 Hypervisor 只需要載入一次,後續虛擬機器的初始化不會產生與載入 Hypervisor 相關聯的 300 MB 額外負荷。 因此,如果兩部 Hyper-V 虛擬機器分別配置 Hyper-V 管理員中的 2 GB 記憶體,則執行這些 Hyper-V 虛擬機器時所使用的實際實體記憶體大約是 4476MB (300MB,針對配置給虛擬機器 + 64 MB + 64 MB + 16MB + 16MB = 4476MB) 。 注意: 作為一般經驗法則,請規劃為根分割區配置至少 512 MB 的記憶體,以提供 I/O 虛擬化、快照集檔案支援和子分割管理等服務。
- 盡可能使用 64 位客體作業系統 – 請考慮為每個客體作業系統使用 64 位作業系統。 這應該完成,因為根據預設,32 位 Windows 作業系統每個進程只能處理最多 2 GB 的虛擬位址空間。 安裝 64 位作業系統可讓應用程式充分利用裝載 Hyper-V 虛擬機器的實體電腦上所安裝的記憶體。

優化網路效能

Hyper-V 支援虛擬機器中的綜合和模擬網路介面卡,但綜合裝置可提供大幅更佳的效能,並減少 CPU 額外負荷。 這些介面卡每一個都連線到虛擬網路交換器,如果需要外部網路連線,就可以連線到實體網路介面卡。 請遵循本節中的建議,將 Hyper-V 虛擬環境中執行的客體作業系統網路效能優化。

注意

These recommendations are from the “Performance Tuning for Virtualization Servers” section of the Performance Tuning Guidelines for Windows Server 2008 R2 whitepaper available for download. 如需如何微調根分割區中的網路介面卡,包括中斷仲裁,請參閱本指南的一節。 該區段中的 TCP 微調應該視需要套用至子分割區。

步驟 參考
設定在相同 Hyper-V 主機電腦上執行的 Hyper-V 虛擬機器,以使用私人虛擬網路 請遵循在相同 Hyper-V 主機電腦上執行的 Hyper-V 虛擬機器以使用網路優化的私人虛擬網路一節中的建議。
停用虛擬機器網路卡的 TCP 卸載 Follow recommendations in the “Disable TCP Offloading for the Virtual Machine Network Cards” section of Network Optimizations.
設定客體作業系統以使用 Hyper-V 綜合網路介面卡。 相較于模擬現有硬體的模擬網路介面卡,Hyper-V 功能是專為 VM 設計的綜合網路介面卡,可大幅降低網路 I/O 上的 CPU 額外負荷。 綜合網路介面卡會使用共用記憶體,在 VMBus 上的子分割與根分割之間通訊,以提升資料傳輸效率。
模擬網路介面卡應該透過 [VM 設定] 對話方塊移除,並以綜合網路介面卡取代。 客體需要安裝 VM 整合服務。
如果有的話,請在根分割區中啟用實體網路介面卡驅動程式的卸載功能。 如同原生案例,實體網路介面卡中的卸載功能可減少 VM 案例中網路 I/O 的 CPU 使用量。 Hyper-V 目前使用 LSOv1 和 TCPv4 總和檢查碼卸載。 必須在根分割區中實體網路介面卡的驅動程式中啟用卸載功能。 For details on offload capabilities in network adapters, refer to the “Choosing a Network Adapter” section of the “Performance Tuning for Virtualization Servers” section of the Performance Tuning Guidelines for Windows Server 2008 R2 whitepaper available for download.
某些網路介面卡的驅動程式會停用 LSOv1,但預設會啟用 LSOv2。 系統管理員必須使用 裝置管理員 中的 [驅動程式屬性] 對話方塊,明確地啟用 LSOv1。
設定網路交換器拓撲以使用多個網路介面卡。 Hyper-V 支援建立多個虛擬網路交換器,其中每個交換器都可以視需要連結至實體網路介面卡。 VM 中的每個網路介面卡都可以連線到虛擬網路交換器。 如果實體伺服器有多個網路介面卡,則具有大量網路負載的 VM 可以受益于連線到不同的虛擬交換器,以更妥善地使用實體網路介面卡。
如果 Hyper-V 主機電腦上安裝了多個實體網路介面卡,請將每個網路卡的裝置中斷系結至單一邏輯處理器。 在某些工作負載下,將單一網路介面卡的裝置中斷系結至單一邏輯處理器可以改善 Hyper-V 的效能。 我們建議此進階微調僅解決完全使用網路頻寬的特定問題。 系統管理員可以使用 IntPolicy 工具來將裝置中斷系結至特定處理器。
可能的話,請為 Hyper-V 綜合網路介面卡啟用 VLAN 標記。 Hyper-V 綜合網路介面卡支援 VLAN 標記。 如果實體網路介面卡同時支援大型傳送和總和總和檢查碼卸載NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB封裝,它可提供大幅提升的網路效能。 如果沒有此支援,Hyper-V 就無法針對需要 VLAN 標記和網路效能的封包使用硬體卸載。
在 Hyper-V 主機電腦上安裝高速網路介面卡,並設定以達到最大效能。 請考慮在 Hyper-V 主機電腦上安裝 1 GB 網路介面卡,並使用固定速度來設定網路介面卡,而不是使用「自動交涉」- 請務必將網路速度、雙工和流量控制參數設定為對應至其連接的交換器上的設定。
遵循優化網路效能的最佳做法。 網路優化主題提供優化網路效能的一般指引。 雖然本主題不提供在 Hyper-V 虛擬化環境中優化BizTalk Server效能的特定建議,但技術適用于在實體硬體上或 Hyper-V 虛擬化環境中執行的任何BizTalk Server解決方案。

優化SQL Server效能

請遵循SQL Server優化主題中的建議,將BizTalk Server解決方案的SQL Server效能優化。 雖然本主題不提供在 Hyper-V 虛擬化環境中優化BizTalk Server效能的特定建議,但技術適用于在實體硬體上或 Hyper-V 虛擬化環境中執行的任何BizTalk Server解決方案。

優化BizTalk Server解決方案

請遵循BizTalk Server優化主題中的建議,將BizTalk Server解決方案的效能優化。 雖然本主題不提供在 Hyper-V 虛擬化環境中優化BizTalk Server效能的特定建議,但技術適用于在實體硬體上或 Hyper-V 虛擬化環境中執行的任何BizTalk Server解決方案。