Hyper-V 效能測試 (SharePoint Foundation 2010)

 

適用版本: SharePoint Foundation 2010

上次修改主題的時間: 2016-11-30

本文說明在使用 Windows Server 2008 Hyper-V 技術的虛擬運算環境中測試 Microsoft SharePoint Foundation 2010 效能的結果。

本文內容:

  • 測試目標與描述

  • 硬體平台

  • 軟體平台

  • 測試伺服器陣列拓撲

  • 測試方法

  • 測試結果

  • 結論與建議

測試目標與描述

除了判斷在 Hyper-V 環境下虛擬化 Microsoft SharePoint Foundation 的效能優劣這個廣泛目標之外,我們還想要識別下列問題:

  • 效能瓶頸。

  • 在支援新技術 (例如超執行緒 (HT) 與第二層位址轉譯 (SLAT)) 的主機伺服器上,虛擬化執行 SharePoint Foundation 的伺服器時,可提升效能。

  • 虛擬化 SharePoint Foundation 2010 時必須考量的問題或限制。

本文中記載的下列四組測試是專為達成上述測試目標而設計:

  • 比較虛擬機器與實體電腦效能

    這些測試顯示在實體電腦和虛擬機器設定套用相同負載時的效能結果。

  • 擴充虛擬機器記憶體

    這些測試顯示增加虛擬機器 (VM) 的記憶體配置時,效能會有何影響。

  • 擴充單一主機

    這些測試顯示增加單一主機上部署的 VM 數量時,效能會有何影響。

  • 擴充虛擬機器

    這些測試顯示增加一或多部主機上部署的虛擬機器數量時,效能會有何影響。

重要

當您解讀先前測試的結果並套用至自己的環境時,請記住,我們的測試是在使用特定伺服器陣列拓撲和特定工作負載的特定硬體上執行。

硬體平台

大部分測試群組會使用下列兩組 Hewlett Packard (HP) 硬體來主控虛擬機器:

  • HP BL680c-G5 (Blade Server)

  • HP ProLiant SE326M1 (Mach 1 伺服器)

執行 Blade Server 測試可造福考慮重複利用現有伺服器技術來主控 VM,而不是購買新伺服器的客戶。

使用 Mach 1 伺服器可顯示支援超執行緒 (Intel Hyper-Threading (HT)) 之 Intel 晶片組的效能特性。Mach 1 晶片組也支援 Intel VT Extended Page Tables (NPT) 技術,Windows Server 2008 R2 Hyper-V 可用該技術來實作第二層位址轉譯 (SLAT)。如需詳細資訊,請參閱 Hyper-V 的新功能 (Windows Server 2008 R2) (https://go.microsoft.com/fwlink/?linkid=155234&clcid=0x404)。

HP Blade Server

下表提供已在 HP Blade Server 上測試 SharePoint Foundation 的硬體摘要。

數量 製造廠商與型號 角色 CPU 記憶體 網路介面卡 存放裝置

4

HP BL680c-G5

SQL Server 資料庫伺服器、Hyper-V 主機、實體伺服器

Intel X7450 搭配 24 核心,2.24 GHz CPU

128 GB

雙 GbE

SAN

8

Dell PE R710

工作負載控制站、工作負載用戶端、虛擬網域控制站

Intel X5550 搭配 8 核心,2.66 GHz CPU

72 GB

雙 GbE

SAS (多重 RAID 層級)

1

F5 BigIP 6800

負載平衡

HP Mach 1 伺服器

下表提供已在 HP Mach 1 伺服器上測試 SharePoint Foundation 的硬體摘要。

數量 製造廠商與型號 角色 CPU 記憶體 網路介面卡 存放裝置

5

HP ProLiant SE326M1

SQL Server 資料庫伺服器、Hyper-V 主機、虛擬網域控制站、實體伺服器

Intel L5520 搭配 8 核心,2.26 GHz CPU,具備 HT 功能

48 GB

雙 GbE

SAS (RAID 10)

5

HP ProLiant DL 380 G5

工作負載控制站、工作負載用戶端

Intel 5150 搭配 4 核心,2.66 GHz CPU

32 GB

雙 GbE

SAS (RAID 10)

1

F5 BigIP

負載平衡

軟體平台

效能測試使用下列產品的 64 位元版本:

  • Windows Server 2008 R2 Enterprise

  • SQL Server 2008 R2 Enterprise

  • Microsoft SharePoint Foundation 2010

  • Microsoft Visual Studio 2008 Team System (VSTS)

  • Microsoft Visual Studio Team System 2008 Test Edition

測試伺服器陣列拓撲

這兩組 HP 伺服器硬體都使用相同的三層式伺服器陣列拓撲。選擇此拓撲是因為其支援下列一般 Microsoft SharePoint Foundation 角色:前端網頁伺服器、應用程式伺服器及資料庫伺服器。

注意

所有測試的資料庫均架設在實體伺服器上。

測試方法

此混合測試衍生自 Microsoft 內部 SharePoint Foundation 伺服器上識別的使用模式,包含下列工作:

  • 建立、使用、更新和刪除

  • 頁面檢視,例如清單檢視與文件庫

  • 透過 Microsoft Office Web Apps 使用 Word、Excel 及 PowerPoint 的瀏覽器檢視

  • 模擬伺服器與豐富型用戶端 (例如 Microsoft Word 2010、Microsoft Excel 2010 及 Microsoft PowerPoint 2010 等應用程式) 之間的流量。

前述的工作使用 84 個分開的動作加以測試,混合測試所佔的比率從 .02% 至 80%。不同測試群組的工作負載分成 1 至 10 級,而在每個使用者一個連線模型中的模擬使用者數目範圍介於 1 至 1000 之間。

在暖機 10 分鐘之後,讓測試執行 10 分鐘並每隔 10 秒收集一次資料。

這四組測試都會使用兩項重要效能指標:每秒傳送的要求數目上限 (Max. passed RPS) 與每個要求所花費的時間 (以毫秒表示)。

測試結果

我們的測試結果是針對先前所述的硬體與工作負載進行測試得來,所得的結果不代表所有情況下的產品效能。測試結果可顯示當您決定虛擬化 SharePoint Foundation 2010 設定來搭配特定使用方式時,可能必須做出的取捨。請務必以您的基礎結構環境和 SharePoint Foundation 實作來解讀我們的測試結果。

比較虛擬機器與實體電腦效能

這些測試顯示針對實體電腦和某虛擬機器範圍套用相同負載時的效能結果。

此組測試有下列目標:

  • 判斷虛擬化實體伺服器時,效能會降低或提升

  • 判斷要達到和實體電腦相同的效能等級所需的虛擬設定

  • 在虛擬機器上測試實體伺服器套用的工作負載時,判斷額外的資源負荷量或效能降低的程度。

HP Blade Server

實體伺服器是用來做為有 24 核心與 24,576 MB 記憶體的前端網頁伺服器。虛擬環境則是在兩個主機上使用 6 個 VM 做為網頁伺服器。每個 VM 都有 4 個虛擬處理器和 15,000 MB 記憶體。

虛擬機器和實體伺服器效能

請注意上圖中的下列結果:

  • [Max. passed RPS] (每秒傳送的最大要求數目) 比在實體電腦上大約高 20%。

  • [Avg. response time (ms)] (平均回應時間 (毫秒)) 比在實體電腦上大約低 15%。

  • 虛擬機器的 [Web server CPU usage (%)] (網頁伺服器 CPU 使用量 (%)) 比在實體伺服器上大約低 9%。

HP Mach 1 伺服器

實體伺服器是用來做為有 8 核心與 49,152 MB 記憶體的前端網頁伺服器。虛擬環境則是在兩個主機上使用 4 個 VM 做為網頁伺服器。每個 VM 都有下列清單中顯示的設定。

  • 4 個虛擬處理器

  • 8,192 MB 記憶體

  • 2 個磁碟區 (使用固定大小的 VHD 檔案)

下圖顯示啟用超執行緒 (HT on) 的 VM、停用超執行緒 (HT off) 的 VM 及實體電腦的效能結果。

VM 和實體伺服器效能

請注意上圖中的下列結果:

  • 啟用超執行緒 (HT on):

    • [Max. passed RPS] (每秒傳送的最大要求數目) 比在實體電腦上大約高 18%。

    • [Avg. response time (ms)] (平均回應時間 (毫秒)) 比在實體電腦上大約低 15%。

    • [Web server CPU usage (%)] (網頁伺服器 CPU 使用量 (%)) 比停用超執行緒的 VM 大約低 46%,而且比實體電腦大約低 36%。

  • 停用超執行緒 (HT off):

    • [Max. passed RPS] (每秒傳送的最大要求數目) 比在實體電腦上大約高 29%。

    • [Avg. response time (ms)] (平均回應時間 (毫秒)) 比在實體電腦上大約低 20%。

擴充虛擬機器記憶體

在本組測試中,會將前端網頁伺服器設定為使用不同的記憶體數量,以判斷擴充 VM 的記憶體會對效能有何影響。測試在 2 部主機伺服器 (HP Blade Server) 上使用 4 個前端網頁伺服器。每個 VM 都設定成使用 4 個虛擬處理器和 2 個使用傳遞磁碟的磁碟區。

下圖顯示 VM 的平均回應時間和每秒的要求數目 (RPS),初始設定為 2,048 MB RAM 且逐步擴充至 15,000 MB RAM。

Blade Server 的 VM 向上擴充效能結果

下圖顯示主機、SQL Server 及 VSTS 代理程式的 CPU 使用量差異並不大。

從擴充的觀點來看,從 2 GB 記憶體擴充至 4 GB 記憶體,效能會小幅提升。在虛擬機機器上,配置 4 GB 以上的記憶體對於測試的工作負載而言,效能並無顯著的增加。

擴充單一主機

這些測試顯示增加單一主機上的 VM 數量時,效能會有何影響;同時也會顯示當主機核心供不應求時,對效能有何影響。

HP Blade Server

本測試最多使用 8 個 VM,而每個 VM 都有下列清單中顯示的設定。

  • 4 個虛擬處理器

  • 15,000 MB 記憶體

  • 2 個使用傳遞磁碟的磁碟區

下圖顯示使用 6 個前端網頁伺服器時可達到的最佳輸送量,邏輯處理器和虛擬處理器是 1:1 對應。增加更多 VM,會使效能降低。觀察到的唯一瓶頸是過度使用 CPU 時的 CPU 爭用情況。

單一主機的向外擴充效能結果

然後 HP Blade Server 上使用的混合測試,會在 Mach 1 伺服器上執行兩次。第一次執行時啟用超執行緒功能,而第二次執行時,則是停用超執行緒功能。

HP Mach 1 伺服器

本測試最多使用 4 個 VM,而每個 VM 都有下列清單中顯示的設定。

  • 4 個虛擬處理器

  • 8,192 MB 記憶體

  • 2 個磁碟區 (使用固定大小的 VHD 檔案)

下圖顯示在主機啟用超執行緒功能時的效能結果。

單一主機的向外擴充效能結果

下圖顯示停用超執行緒功能時的效能結果。

單一主機的向外擴充效能結果

上面兩圖指出效能並無顯著提升或降低,因此不需要過度訂閱主機 CPU。

這些測試的另一項關鍵結果是「網頁伺服器主機邏輯 CPU 使用量」指出運算空餘空間增加。比較兩圖中的這個值,您可看出根據過度使用 CPU 的程度,運算容量可增加 10% 至 25%。

擴充虛擬機器

此組測試可顯示擴充主機的虛擬機器數量時對效能的影響,並識別瓶頸。此外,還會混合虛擬機器角色,以判斷對效能的影響。

虛擬機器的向外擴充效能結果

本測試使用 2-3 部主機伺服器,並在主機上部署 6-12 個虛擬機器。每個 VM 都有下列清單中顯示的設定。

  • 2 個虛擬處理器

  • 15,000 MB 記憶體

  • 2 個使用傳遞磁碟的磁碟區

下圖顯示擴充虛擬機器時的效能。

虛擬機器的向外擴充效能結果

請注意上面各圖中的下列結果:

  • 讓虛擬機器使用專屬角色時,可在主機數量和 VM 數量擴充至 3 部主機搭配 12 個 VM 時,顯著提升效能。使用 [Max. passed RPS] (每秒傳送的最大要求數目) 做為基準點,效能大約可提升 2.5 倍。不過,每個要求的平均回應時間變長,圖中指出回應時間大約增加 26%。

  • 讓虛擬機器使用混合角色,並使用數量相同的主機和 VM,[Max. passed RPS] (每秒傳送的最大要求數目) 大約可改善 31%。此外,圖中指出 [Avg. response time (ms)] (平均回應時間 (毫秒)) 大約可降低 25%。應用程式伺服器上通常有個較低的工作週期,可讓 Hyper-V 將額外的資源用在主機執行的其他 VM 使用。

觀察到的另一項效能變化是,當以混合的虛擬機器角色執行測試時,SQL Server CPU 使用量會大幅增加。增加的幅度大約是 35%。

HP Mach 1 伺服器

本測試使用 2-4 部主機伺服器,並在主機上部署 3-9 個虛擬機器。每個 VM 都有下列清單中顯示的設定。

  • 4 個虛擬處理器

  • 8,192 MB 記憶體

  • 2 個磁碟區 (使用固定大小的 VHD 檔案)

下圖顯示主機上啟用超執行緒功能時的效能。

虛擬機器的向外擴充效能結果

請注意上圖中的下列結果:

  • 使用專屬的虛擬機器角色時,可在主機數量和 VM 數量擴充至 3 部主機搭配 6 個 VM 時,顯著提升效能。使用 [Max. passed RPS] (每秒傳送的最大要求數目) 做為基準點,效能大約可提升 42%,而每個要求的平均回應時間可減少大約 21%。

  • 再次將主機和虛擬機器的數量擴充至 4 部主機與 9 個虛擬機器時,相較於 3 部主機與 6 個 VM 的設定,[Max. passed RPS] (每秒傳送的最大要求數目) 可改善大約 57%。相較於 HP Blade Server,[Avg. response time (ms)] (平均回應時間 (毫秒)) 大約只增加 4%。

  • SQL Server CPU 使用量 (%) 與 HP Blade Server 相同,以線性方式增加 41%。

結論與建議

下表根據特定工作負載、使用的硬體和虛擬機器摘要說明從測試中得到的結論。

測試群組 主機硬體 結論

比較虛擬機器與實體電腦效能

HP Blade Server

實體電腦的效能提升 15% (RPS) 與 42% (每個要求的回應時間)。

HP Mach 1 伺服器

實體電腦的效能提升大約 15% (RPS) 與 18% (每個要求的回應時間)。

擴充虛擬機器記憶體

HP Blade Server

針對虛擬機器配置 4 GB 以上的記憶體,並無任何助益。

擴充單一主機

HP Blade Server

採用 1:1 比例的邏輯處理器和虛擬處理器可產生最高輸送量。過度使用 CPU 會使效能降低。

HP Mach 1 伺服器

此硬體可支援過度使用 CPU,不會使效能大幅降低。運算空餘空間量取決於過度使用 CPU 的程度。

擴充虛擬機器

HP Blade Server

Microsoft SharePoint Foundation 2010 以線性方式擴充到至少有 3 部主機和 12 個虛擬前端網頁伺服器。在每部主機上混合 Microsoft SharePoint Foundation 角色,可達到最高輸送量。

HP Mach 1 伺服器

Microsoft SharePoint Foundation 2010 以線性方式擴充到至少有 4 部主機和 9 個虛擬前端網頁伺服器。

我們在測試環境中觀察到將 SharePoint Foundation 角色虛擬化會降低效能。Hyper-V 負荷過重以及每個虛擬機器上的作業系統負荷過重時都會有這種情況。

虛擬化產生的額外負荷量和效能降低的程度 (相對於設定類似的實體電腦) 取決於數量大小 (例如記憶體數量與核心數量) 以及主機硬體晶片組的功能 (例如第二層位址轉譯與超執行緒支援)。

建議您清楚了解希望透過將所有或部分 SharePoint 伺服器陣列虛擬化來達到哪些效能提升。決定進行虛擬化後,需要進行全面的規劃和測試,以充分了解所有效能選項與含意。

您可以參考本文中的測試結果。不過,文中結果不是絕對的,而且是針對特定實體環境下的特定工作負載產生。