評估 SharePoint Server 2010 中 Web 內容管理的效能與容量需求

 

適用版本: SharePoint Server 2010

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

本文包含與啟用發佈基礎結構之 Microsoft SharePoint Server 2010 網站相關的容量管理指導。本文件主要針對 SharePoint Server 2010,其所討論的資訊並不適用於 SharePoint Foundation。

本文討論下列案例:

  • 網際網路發佈網站 - 公司平台服務網站。

    這類網站會發佈至網際網路,並讓匿名網際網路使用者尋找公司的相關資訊。這類網站為品牌網站,且內容會受到嚴密控制。

  • 內部網路發佈網站 - 內部新聞網站。

    這類網站會在組織內部發佈。主要用來讓組織內已驗證的使用者共用資訊。網站中的資訊可能會受到嚴密管理,或某些區域可能會比較少管理。

  • 企業 Wiki - 知識庫。

    企業 Wiki 是單一伺服器陣列網站,藉由參與者建立新頁面,並將新頁面連結至其他可能存在或尚未存在的頁面,以有組織地擴充。企業 Wiki 通常會在組織內部發佈。此網站可讓公司或組織內的人員使用整合到 SharePoint 環境並已增強的解決方案,來擷取及共用知識。

閱讀本文件之後,您將會瞭解下列概念:

  • 您應該最大化以支援大量讀取作業的關鍵衡量標準 (輸送量)。

  • 各種與 SharePoint Server 2010 網頁內容管理部署相關的潛在瓶頸。

  • 輸出快取對最大化輸送量的重要性。

  • 寫入作業對使用者讀取體驗的影響。

本文內容:

  • 先決條件資訊

  • 測試詳細資料及方法

  • 網頁內容管理部署

  • 最佳化項目

  • 測試結果及建議

  • 關於作者

先決條件資訊

閱讀本文件之前,請確定瞭解 SharePoint Server 2010 容量管理背後的主要概念。下列文件將協助您瞭解容量管理的建議方法,並提供有助您瞭解如何有效使用本文件中之資訊的內容。

如需效能與容量的更多概念性資訊 (有助您瞭解本文中的資料內容),請參閱下列文件:

測試詳細資料及方法

在每個測試中,會擷取實際環境中可能出現的變數,以顯示特定建議。因此,請務必測試及監視您自己的環境,以確保正確調整成符合您預期的要求量。若要深入瞭解容量管理概念,您可以參閱<SharePoint Server 2010 的容量管理與縮放概觀>。

本文討論網站集合功能、SharePoint Server 發佈基礎結構及輸出快取的效能。這些功能僅在啟用 SharePoint Server 發佈基礎結構時才可使用。發佈入口網站預設會啟用此功能。

資料集

這些測試使用與實際網頁內容管理部署共用一般特性的資料集來進行。雖然負載是固定的,但是會要求不同的頁面。下表說明這些測試所使用的資料集。

資料集

物件 發佈網站

內容資料庫大小

2.63 GB

內容資料庫數目

1

網站集合數目

1

Web 應用程式數目

1

網站數目

50

頁數

20,000 頁,分成 20 個各含 1,000 頁的資料夾

頁面組合

使用基本 HTML 的文章頁面,參照兩張圖像

頁面大小

42 KB (未壓縮);12 KB (已壓縮)

圖像

每 30 KB 至 1.3 MB 3,000 張

建議設定網際網路資訊服務 (IIS) 一律壓縮檔案,而不是使用預設的動態壓縮檔案設定。啟用動態壓縮時,IIS 會壓縮頁面,直到 CPU 使用率超過特定臨界值為止;此時,在使用率降低至臨界值以下之前,IIS 會停止壓縮頁面。本文中的測試在進行時,一律啟用壓縮。

此測試資料集僅使用產品隨附的預設 SharePoint Server 2010 功能。您的網站可能包含這些基本功能以外的自訂項目。因此,請務必測試您自己的解決方案效能。

硬體

伺服器陣列中的網頁伺服器數目會隨測試而異,但是每部網頁伺服器會有相同的硬體。下表說明在這些測試期間所使用的網頁伺服器和應用程式伺服器硬體。

應用程式伺服器和網頁伺服器的硬體規格

  網頁伺服器

處理器

雙四核心,2.33 GHz

RAM

8 GB

作業系統

Windows Server 2008,64 位元

SharePoint 磁碟機的大小

300 GB

網路介面卡數目

2

網路介面卡速度

1 GB

驗證

Windows 基本

負載平衡器類型

硬體負載平衡

軟體版本

SharePoint Server 2010 (測試版)

在本機執行的服務

管理中心

Microsoft SharePoint Foundation 內送電子郵件

Microsoft SharePoint Foundation Web 應用程式

Microsoft SharePoint Foundation 工作流程計時器服務

下表說明在這些測試期間所使用的資料庫伺服器硬體。

資料庫伺服器的硬體規格

資料庫伺服器

處理器

4 顆四核心,3.19 GHz

RAM

16 GB

作業系統

Windows Server 2008,64 位元

儲存

15 個 300 GB @ 15,000 RPM 磁碟

網路介面卡數目

2

網路介面卡速度

1 GB

驗證

NTLM

軟體版本

Microsoft SQL Server 2008

詞彙

您在本文件中會看到一些專門詞彙。以下是一些主要詞彙及其定義:

  • RPS   每秒要求數目。伺服器陣列或伺服器每秒接收的要求數目。這是伺服器和伺服器陣列負載的常用度量單位。

    請注意,要求與頁面載入不同;每頁包含數個命令,這些命令會在載入頁面時建立一或多個要求。因此,載入一頁會建立多個要求。一般而言,使用少量資源的驗證檢查及事件不會計入 RPS 度量中。

  • 綠色區域   這是伺服器可以維護下列一組準則的狀態:

    • 至少 75% 的要求之伺服器端延遲小於 1 秒。

    • 所有伺服器的 CPU 使用率小於 50%。

    • 失敗率小於 0.01%。

網頁內容管理部署

以下兩個在 SharePoint 發佈網站中製作內容所依據的模型,會影響您對伺服器陣列拓撲的選擇。

就地製作模型中,作者和訪客會共用一個網站集合。作者可以隨時建立及更新內容,因而導致一整天會有不同的讀取和寫入作業分佈。此伺服器陣列通常會發生大量讀取及適量寫入。

下圖從拓撲觀點說明就地製作的運作方式。

圖表顯示就地製作環境

內容部署模型中,多個網站集合會分別專門支援內容製作和發佈。內容會在製作環境中建立及更新,然後再依據排程部署至發佈環境,以供訪客讀取。發佈環境主要服務讀取要求,但不包括從製作環境部署內容時。不像就地製作模型,內容部署所造成的伺服器負載可依排定間隔予以調整。

下圖從拓撲觀點說明內容部署的運作方式。

圖表顯示內容部署

這些內容製作模型不可以同時存在。

雖然網際網路發佈網站和內部網路發佈網站可以使用就地製作模型或內容部署模型,但是企業 Wiki 最適合搭配就地製作模型使用。由於有較大比例的使用者會編輯頁面,因此企業 Wiki 的寫入作業量通常會比讀取作業量還多。企業 Wiki 頁面與發佈文章頁面不同,並展現不同的效能特性。

最佳化項目

本節討論最佳化網頁內容管理環境的資訊。最佳化環境包括瞭解如何管理輸送量、瓶頸及快取。

本節內容:

  • 輸送量是關鍵衡量標準

  • 瓶頸及補救

  • 有用的快取

輸送量是關鍵衡量標準

進行 SharePoint Server 2010 網頁內容管理部署的容量規劃時,輸送量和回應時間是需要最佳化的最重要衡量標準。輸送量是伺服器陣列每秒可以執行的作業數目,以每秒要求數目 (RPS) 計算。

瓶頸及補救

瓶頸是使用所有系統資源之後,伺服器陣列將無法再服務更多要求的情況。下圖顯示可能成為瓶頸,因此應該受到監視的伺服器陣列元素和資源。

圖表顯示伺服器陣列建置組塊

網頁伺服器 CPU 使用率

網頁伺服器 CPU 由於是最容易擴充的元件,因此會是調整完善之拓撲的瓶頸。負載平衡器會在網頁伺服器之間路由要求,以確保沒有任何一部伺服器的使用量比其他伺服器偏高。

雖然其他使用者仍可在網頁伺服器 CPU 使用率達到 100% 之後瀏覽網站,但是這些使用者的伺服器回應時間將會增加。此行為有助於管理暴量的要求,但承擔超過伺服器陣列容量的負載,最終將導致待處理的要求數目過大而超過要求等候時間臨界值。此時網頁伺服器會節流處理要求,並回應 HTTP 錯誤 503。在下圖中,伺服器回應時間在達到要求等候時間臨界值之後會減少,因為此時僅會提供 HTTP 錯誤。

圖表顯示回應時間與資源使用情況的比較

上圖顯示下列異動:

  1. 回應時間會隨網頁伺服器 CPU 使用率愈來愈接近 100% 而增加。

  2. 超過要求等候時間臨界值之後,其他要求會以錯誤回應。

其他瓶頸

如果網頁伺服器 CPU 不是瓶頸,下一個調查是否為瓶頸的項目是伺服器陣列拓撲、伺服器陣列設定或提供的頁面內容。這些元素的一些潛在瓶頸包括:

  1. 網路    在高輸送量的情況下,網頁伺服器與資料庫伺服器之間的網路,或網頁伺服器與使用者之間網路可能會飽和。若要避免此情況,建議網頁伺服器使用雙 Gigabit 網路介面卡。

  2. 資料庫伺服器 CPU    如果資料庫伺服器 CPU 成為瓶頸,將網頁伺服器新增至伺服器陣列無法增加伺服器陣列可以支援的最大輸送量。資料庫 CPU (而不是網頁伺服器 CPU) 的瓶頸可能反映兩種情況:

    1. 快取設定不佳或頁面傳送速度很慢,特別是非輸出快取的頁面。此情況的特色為資料庫伺服器 CPU 使用率很高,但輸送量或網頁伺服器使用率很低或中等。

    2. 資料庫伺服器可能達到伺服器陣列所需的最大輸送量。此情況的特色是在輸送量很高時,網頁伺服器和資料庫伺服器 CPU 使用率會很高。

有用的快取

SharePoint Server 2010 使用三種快取。這些快取的共同目標為透過降低針對經常要求的資料呼叫資料庫的次數,來改善效率。後續對頁面的要求會由網頁伺服器上的快取來回應,而導致大幅降低網頁伺服器和資料庫伺服器上的資源使用率。

這三種快取如下:

上述每一個快取對維持高輸送量皆很重要。但是,輸出快取的效果最大,因此本文會有詳細的討論。

測試結果及建議

本節討論測試的特定區域,並提供這些測試所產生的建議。

本節內容:

  • 啟用輸出快取的影響

  • 匿名使用者及已驗證的使用者

  • 讀取和寫入作業的擴充特性

  • 輸出快取警告

  • 讀取量對 CPU 及回應時間的影響

  • 寫入作業對輸送量的影響

  • 內容部署的影響

  • 資料庫快照在內容部署匯出期間的影響

  • 內容特性

啟用輸出快取的影響

輸出快取是用於最佳化 SharePoint Server 2010 解決方案,以進行大量讀取作業的重要功能。

在這些測試中,若要判斷最大 RPS,必須增加伺服器陣列上目前要求的使用者人數,直到資料庫伺服器或網頁伺服器的 CPU 使用率達到 100% 並成為瓶頸為止。此測試會在 1x1 (1 部網頁伺服器與 1 部資料庫伺服器)、2x1、4x1 及 8x1 伺服器拓撲上進行,以示範依不同輸出快取命中率擴充網頁伺服器的影響。

輸出快取命中率

輸出快取命中率是輸出快取命中相對於遺漏的比率量值。

  • 如果快取收到的物件資料要求已儲存在快取中,即會發生快取命中

  • 如果收到的物件資料要求未儲存在快取中,即會發生快取遺漏。發生快取遺漏時,快取會嘗試儲存要求的物件資料,以在稍後要求該資料時,會有快取命中的結果。

頁面要求導致快取遺漏的可能原因有幾個。

  • 頁面設定為不使用輸出快取。

  • 個人化的頁面;例如,包含目前使用者專屬資料的頁面。

  • 每個輸出快取變化索引鍵的第一次瀏覽。

  • 快取內容到期後的第一次瀏覽。

下圖顯示在包含一至四部網頁伺服器及一部資料庫伺服器的伺服器陣列中,輸出快取對尖峰輸送量的影響。

圖表顯示輸出快取對尖峰負載的影響

注意

4x1 伺服器陣列上輸出快取命中率為 100% 的最大 RPS 資料點是推斷得來,而非經過實際觀察。伺服器陣列要求量達到網路頻寬限制;亦即資料傳送速率每秒約 1 Gigabit。在所有情況下,網頁伺服器 CPU 使用率為 100%。

下表列出輸出快取命中率對包含一至四部網頁伺服器及一部資料庫伺服器的伺服器陣列拓撲的影響。

輸出快取命中率對不同伺服器陣列拓撲的影響

輸出快取命中率 測量 1x1 2x1 4x1

100%

 

最大 RPS

SQL Server CPU 使用率

 

3,463

0%

 

7,331

0%

 

11,032

0%

95%

 

最大 RPS

SQL Server CPU 使用率

 

2,137

5.93%

 

3,945

12.00%

 

5,937

21.80%

90%

 

最大 RPS

SQL Server CPU 使用率

 

1,518

7.12%

 

2,864

14.40%

 

4,518

28.00%

50%

 

最大 RPS

SQL Server CPU 使用率

 

459

9.86%

 

913

19.50%

 

1,596

42.00%

0%

 

最大 RPS

SQL Server CPU 使用率

 

172

9.53%

 

339

19.00%

 

638

36.30%

啟用輸出快取的影響之結論與建議

輸出快取命中率愈高,所產生的最大 RPS 會大幅增加。因此,建議啟用輸出快取,以最佳化您的 SharePoint Server 2010 發佈解決方案。您可以在 [輸出快取設定] 頁面上,設定網站集合的輸出快取。如需詳細資訊,請參閱 Office.Microsoft.com 網站上的設定輸出快取以改善頁面轉譯 (https://go.microsoft.com/fwlink/?linkid=205058&clcid=0x404)。

在啟用輸出快取的測試中,會排除快取頁面的第一個要求;亦即特定百分比的頁面已儲存在快取中。如果使用者第一次要求的頁面不在快取中,即會將該頁面新增至快取。當快取達到或接近容量限制時,將會修剪最近最不常被要求的資料。

0% 快取命中率會模擬環境中啟用之輸出快取在清空後重新填入的短暫時間。例如,每天在實際環境中,當應用程式集區回收時,即會觀察到此情況。請務必適當向上及向外擴充硬體,以因應應用程式集區回收到下次要求及快取頁面的短暫時間內,所出現的 0% 快取命中率情況。0% 快取命中率也會模擬未啟用輸出快取的環境。

匿名使用者及已驗證的使用者

上一個測試假設所有網站的要求是由匿名讀取者所提出。但是,在您的網站中,某些使用者或所有使用者可能經過驗證。已驗證的讀取案例範例包括公司內部網路發佈網站,以及網際網路網站上僅限成員的內容。

使用輸出快取設定檔,即可將已驗證使用者的輸出快取行為,指定成與匿名使用者的行為不同。

快取設定檔

快取設定檔彙總您可以在部署網站時,套用至頁面、頁面項目、內容類型及等級的設定。快取設定檔定義下列快取行為類型:

  • 快取中可保留項目的時間。

  • 安全性調整原則。

  • 到期設定,例如持續時間和變更。

  • 快取內容的變化,例如根據使用者權限、使用者權利及其他自訂變數。

快取設定的任何變更會立即影響網站上的所有適用內容。您可以為匿名使用者及已驗證的使用者,設定不同的快取設定檔。

針對匿名使用者,可以使用「公用內部網路 (完全匿名)」輸出快取設定檔;針對已驗證的使用者,可以使用「外部網路 (發佈的網站)」輸出快取設定檔。

下圖顯示已驗證的輸送量對資料庫伺服器 CPU 使用率的影響。

圖表顯示已驗證輸送量的影響

驗證模型使用 Windows 基本驗證。雖然不建議您對網際網路網站使用 Windows 基本驗證,但是選取此驗證方法是為了示範驗證所造成的基本額外負荷。此額外負荷大小會隨您指定的驗證機制而異。當您測試部署時,請確定將驗證機制的影響列入考量。如需 SharePoint Server 2010 支援之驗證機制的詳細資訊,請參閱<規劃驗證方法 (SharePoint Server 2010)>。

匿名使用者及已驗證的使用者之結論與建議

由於額外的驗證認證工作造成資料庫伺服器上的負載,因此已驗證的使用者會經歷較低的 RPS 且較不可能進行擴充。如測試結果所示範,驗證使用者時所觀察到的最大 RPS,會比匿名存取伺服器陣列大幅降低。

讀取和寫入作業的擴充特性

進行此測試的目的,是為了記錄每小時寫入次數。本文將寫入定義為建立及存回新發佈頁面,或編輯及存回現有的發佈頁面。

在下列測試中,會將讀取者新增至系統,直到網頁伺服器 CPU 使用率達到約 80-90% 為止,然後使用人工延遲在環境中執行寫入作業。測試的每小時寫入次數總計約為 500。請為所有測試使用 90% 輸出快取命中率,並在 1x1、2x1 及 4x1 伺服器陣列上執行相同的測試,然後觀察每種設定下的網頁伺服器和 SQL Server CPU 使用率,以及整體讀取輸送量。此外,請測試匿名唯讀設定,以做為基準,並使用 Windows 基本驗證測試已驗證的讀取者設定。

雖然在唯讀的向外擴充測試期間,網頁伺服器 CPU 使用率達到 100%,但是在寫入的向外擴充測試中,網頁伺服器 CPU 會介於 80-90%。這麼做的原因,是為了保留空間給額外的 CPU 使用率,以執行寫入活動。

下圖顯示每個測試期間所觀察到的整體讀取 RPS。讀取 RPS 會在新增其他網頁伺服器時線性調整,即使搭配寫入活動亦然。但是,併入寫入時,會遺失 RPS。

圖表顯示擴充讀取/寫入作業

資料庫伺服器 CPU 使用率會隨網頁伺服器數目增加而增加。下圖顯示 SQL Server CPU 使用率在各種設定中的成長模式。如本文稍早的<匿名使用者及已驗證的使用者>一節所觀察,驗證會影響資料庫伺服器 CPU 使用率,並在新增寫入活動時 (也會影響資料庫伺服器 CPU 使用率),變得更為明顯。

圖表顯示讀取/寫入負載對資料庫伺服器的影響

SQL Server 使用量的外插趨勢線,示範 SQL Server 會在六部網頁伺服器包含已驗證的讀取要求時成為瓶頸。但是,在匿名讀取案例中,向外擴充為大量網頁伺服器是可行的。

請務必注意一般部署中其他會影響資料庫伺服器負載的因素,以及這些因素對進行容量規劃的重要性。若要深入瞭解如何判斷一般資料庫伺服器 CPU 使用率的綠色區域,請參閱<SharePoint Server 2010 的容量管理與縮放概觀>。

讀取和寫入作業的擴充特性之結論與建議

根據資料顯示,如果資料庫伺服器不會成為瓶頸,向外擴充網頁伺服器數目是增加輸送量的有效策略。相對於匿名讀取/無寫入測試混合,匿名讀取/已驗證的寫入測試混合的網頁伺服器 CPU 使用率平均會增加 52%。此外,已驗證的讀取會增加大量 SQL Server 的額外負載,因為每個要求會造成額外的驗證檢查,而需要來回 SQL Server。

下圖顯示輸送量對資料庫伺服器 CPU 使用率的影響。

圖表顯示輸送量對資料庫伺服器 CPU 的影響

輸出快取警告

如果唯一的容量規劃考量是最大化 RPS,這些測試會建議最佳快取命中率為 100%。但是,由於資料新鮮度需求或記憶體限制,啟用任何或所有頁面的輸出快取可能不可行或不適用。

資料新鮮度

從輸出快取提供的資料可能不會包含對原始內容所做的最近更新。在內容部署來源或 (已驗證的作者適用) 實際執行製作案例中,作者可能需要在更新現有內容之後立即檢視最新的變更。

設定快取設定檔中的 [持續時間] 屬性一般可以解決此問題,該屬性指定快取頁面在到期前,可以在輸出快取中保存的時間。頁面到期後,即會從快取中移除,後續要求會重新整理頁面內容,而導致快取遺漏。

您也可以設定 [檢查變更] 快取設定檔屬性,讓伺服器可以將快取頁面時與上次修改網站集合中的內容時進行比較。不符合時間戳記的頁面要求會造成網站集合中所有頁面的快取無效判定。由於 [檢查變更] 屬性影響網站集合中的所有頁面,因此建議僅在不常更新且基本上為靜態之已驗證的就地製作解決方案中,才啟用此選項。結合此選項與很長的持續時間可以從快取中提供所有頁面,直到網站更新為止。

預設不會啟用 [檢查變更] 屬性。這表示網頁伺服器會從輸出快取中提供資料,以回應尚未到期的頁面要求,而不論是否修改基礎的原始 ASPX 頁面。

此測試會在 1x1 伺服器陣列上進行,在此測試中,除了 [檢查變更] 屬性,所有變數會與<讀取和寫入作業的擴充特性>一節中所有測試的變數相同。開啟 [檢查變更] 屬性時,會更常清除快取,而導致輸出快取命中率降低。

下圖顯示 [檢查變更] 屬性對輸送量的影響。

圖表顯示檢查變更的影響

除非情況特殊,否則建議避免使用 [檢查變更] 輸出快取設定檔屬性。設定已驗證的使用者搭配很長的快取持續時間,對使用就地製作模型並且不常變更內容的網站可能很有幫助,但是其他網站類型很有可能會降低 RPS。

根據您的需求,您可能需要讓時間緊迫的內容可以立即使用,或比預設設定所允許的時間更快使用。在此情況下,您應該減少持續時間或停用輸出快取。

輸出快取警告的結論與建議

輸出快取不會解決所有與容量管理相關的問題。某些情況不適合使用輸出快取,因此您應該在啟用輸出快取及設定輸出快取設定檔時,考量這些情況。

讀取量對 CPU 及回應時間的影響

此測試會在啟用匿名存取及輸出快取的 1x1 伺服器陣列上進行。

下圖顯示讀取量對 CPU 及回應時間的影響。

圖表顯示讀取作業對 CPU 及回應時間的影響

讀取量對 CPU 及回應時間的影響之結論與建議

如<瓶頸及補救>一節所討論,伺服器回應時間一般會維持固定,直到網頁伺服器接收的要求量使用所有 CPU 為止。使用所有網頁伺服器 CPU 之後,回應時間會大幅增加。但是,伺服器陣列仍可以處理一些額外的要求量。

寫入作業對輸送量的影響

建立作業與編輯作業的比例會在整個測試過程中平均分配。所測試的每小時寫入次數值最大約為 500,因為每小時建立或編輯 500 頁以上會超出大部分 SharePoint 部署所能操作的範圍。此測試不會涵蓋自動化程序,例如<內容部署的影響>一節所討論的內容部署。這些建立與編輯作業可能會導致多個 SQL Server 作業。因此,請務必注意這些測試中測量的寫入次數不在 SQL Server 層級,而是代表使用者視為寫入作業的項目。所有 RPS 與每小時寫入次數測試都會在 1x1 伺服器陣列上進行。

首先,將讀取作業新增至測試,直到網頁伺服器 CPU 介於 60% 至 80%,讓流量有暴增的緩衝空間,並在整個測試過程中維持此平均使用率。然後使用人工延遲控制寫入作業的數目,以引入寫入。但是,進行寫入時,網頁伺服器與 SQL Server CPU 使用率發生暴增的情況。在這些暴增中,有些針對一些快取命中率的暴增超過下圖所示之一般作業的臨界值,不過平均值會維持在一般作業的範圍內。

圖表顯示寫入作業對輸送量的影響

如上圖所示,將寫入新增至環境時,輸送量會稍微降低。上圖示範在每小時約 500 次寫入期間,唯讀案例與讀取作業之間的輸送量變更。每個輸出快取命中率會記錄兩個資料點。因此,資料點之間的關聯不一定是線性。

快取命中率愈低,減少的百分比就愈明顯 (如下圖所示)。不論寫入次數為何,整體讀取 RPS 還是大部分與快取命中率相關。

圖表顯示寫入量造成輸送量降低

下圖示範將寫入新增至系統之後,資料庫伺服器 CPU 使用率並未明顯增加。請注意,CPU 容量可以上下調整 0% 至10%。

圖表顯示平均資料庫伺服器 CPU 與 WPH 的比較

寫入作業期間預期會觀察到額外的 SQL Server 負載,但是最大增量是增加 2.06%,這並不明顯。在所有測試過程中,平均資料庫伺服器 CPU 使用率會維持在 10% 以下。此測試會在 1x1 伺服器陣列上執行。資料庫伺服器 CPU 使用率會隨網頁伺服器數目擴充而增加。這在<讀取和寫入作業的擴充特性>中會有進一步討論。

測試期間也會測量網頁伺服器 CPU 使用率。下圖示範平均網頁伺服器 CPU 使用率在整個測試過程中會維持在 60-80% 的範圍,即使每小時寫入次數趨近 500 亦然。

圖表顯示網頁伺服器 CPU 使用率與 WPH 的比較

但是,進行寫入時,實際測量的 CPU 使用率會暴增 (如下圖所示)。一般而言,這些 CPU 暴增不表示發生問題。綠色區域的目標在於提供 CPU 額外的空間,以吸收 CPU 負載的部分暴增。此外,新增其他網頁伺服器之後,即可將暴增的影響分散到這些伺服器,以降低某部網頁伺服器 CPU 的影響。但是,您應該瞭解實際部署中預期會有這類暴增;且寫入活動不會一致地分散,不過發生時一般會呈高載狀態。

圖表顯示執行寫入作業時的網頁伺服器 CPU 使用率

對一般部署而言,90% 的快取命中率很低。大部分具有大量讀取作業的 SharePoint Server 2010 部署,會有 95% 或更高的輸出快取命中率。

寫入作業對輸送量的影響之結論與建議

呈現的資料表示寫入作業對讀取者系統的整體輸送量沒有太大的不良影響。您應該瞭解寫入活動會造成 CPU 使用率的暴增,因此您應該規劃一般設定預期會有這些暴增。調節這些暴增的策略是向外擴充為多部網頁伺服器。這麼做有兩個好處:

  • 將寫入負載平均分配到多部網頁伺服器,以平滑處理整體暴增。

  • 提供增加的讀取 RPS,特別是在高輸出快取命中率時。

內容部署的影響

就地製作模型 (使用單一環境進行編輯及讀取) 的替代方法是,將單一環境分成兩個不同的環境 (製作環境和實際執行環境),然後使用內容部署將內容從製作環境複製到實際執行環境。

在此設定中,實際執行環境可以從含有很少的寫入活動到完全沒有寫入活動,但不包括內容部署匯入內容時。在這些測試中,會新增讀取,直到網頁伺服器 CPU 使用率介於 70-80% 的範圍為止。內容部署工作接著會從製作網站集合,以封裝形式匯出 10 個各含 500 頁的網站,再將此封裝匯入發佈網站集合。已部署的封裝大小會大於一般在實際環境中觀察到的封裝大小,以充分延長內容部署工作到看見測試結果的持續時間。如需已部署內容之特性的其他資訊,請參閱<資料集>一節。

完成匯出之後,即會將內容匯入不同的網站集合,並測量匯入時的應用程式伺服器和 SQL Server 負載,以及輸送量。請針對多種不同的輸出快取命中率進行匯入測試。

主要觀察到的是,匯入對整體讀取 RPS 僅有輕微的影響 (如下圖所示)。此外還觀察到,不論快取命中率為何,匯入對網頁伺服器 CPU 使用率的影響皆不大 (如下表所示);但是對 SQL Server CPU 的影響比較明顯 (如下表所示)。由於將內容匯入資料庫伺服器時,資料庫伺服器會發生額外的負載,因此這是可預期的結果。不過,測試各種快取命中率時,即使是匯入期間,SQL Server CPU 還是會維持在 12% 以下的使用率。

圖表顯示內容部署匯入的影響

下表顯示內容部署匯入對網頁伺服器和資料庫伺服器 CPU 使用率的影響。

內容部署匯入對網頁伺服器 CPU 使用率的影響

快取命中 100% 99% 98% 95% 90% 50% 0%

比較基準

72.32%

73.26%

71.28%

73.53%

71.79%

68.05%

63.97%

匯入時

70.93%

74.45%

69.56%

74.12%

70.95%

67.93%

63.94%

內容部署匯入對資料庫伺服器 CPU 使用率的影響

快取命中 100% 99% 98% 95% 90% 50% 0%

比較基準

1.19%

1.64%

2.01%

3.00%

3.73%

5.40%

6.82%

匯入時

6.03%

6.82%

6.97%

7.96%

8.52%

10.29%

10.56%

內容部署的影響之結論與建議

測試結果顯示,在一般網站作業期間執行內容部署作業,並不會構成太大的效能問題。這些結果顯示,不一定要在低流量時段期間部署內容,才能將作業對整體效能的影響降至最低,且部署時間主要是由業務需求而不是效能需求所決定。

資料庫快照在內容部署匯出期間的影響

在 SharePoint Server 2010 中,內容部署可以設定為建立來源內容資料庫的快照,再從中匯出內容。如此可有效保護匯出程序,避免在匯出時發生任何製作活動。但是,快照會影響資料庫伺服器的寫入效能,因為快照可當成寫入次數的倍數。例如,若有兩個來源資料庫快照,則當您寫入來源資料庫時,資料庫伺服器會將現有資料複製到每個快照,再將新資料寫入來源資料庫。這表示來源資料庫的單次寫入會造成三次實際寫入:寫入來源資料庫一次,以及寫入每個資料庫快照各一次。

為判斷快照對製作環境的影響,已在同時發生寫入活動的匯出作業期間,測量了寫入 RPS、回應時間,以及網頁伺服器、資料庫伺服器和應用程式伺服器的 CPU 使用率。下表顯示結果。

資料庫快照在內容部署期間的影響

評量值 4 WPH - 無快照 4 WPH - 含快照

寫入 RPS

0.2

0.16

回應時間

0.13

0.15

網頁伺服器 CPU %

0.42%

0.27%

應用程式伺服器 CPU %

8.67%

8.98%

資料庫伺服器 CPU %

3.34%

2.41%

資料庫快照在內容部署期間的影響

評量值 8 WPH - 無快照 8 WPH - 含快照

寫入 RPS

0.44

0.44

回應時間

0.13

0.13

網頁伺服器 CPU %

0.61%

0.73%

應用程式伺服器 CPU %

14.6%

12%

資料庫伺服器 CPU %

7.04%

7.86%

資料庫快照在內容部署匯出期間的影響之結論與建議

測試結果顯示對任何測量的資料庫快照資料點的影響不大。記錄的所有變異數均在誤差範圍內。因此確認使用資料庫快照不需要有太多的效能考量。

內容特性

這些測試會在為回答一組特定問題所建立的單一資料集上進行。您的資料集會有所不同,且會隨時間而改變。本節調查內容特性 (例如頁面庫中的頁數及頁面上包含的功能) 如何影響容量管理決策。

頁數

測試多種頁面庫大小的最大 RPS。此測試會在停用輸出快取但啟用匿名存取的 4x1 拓撲上進行。所有頁面未壓縮前為 42 KB,壓縮後為 12 KB。下表顯示測試結果。

頁面庫的頁數對 RPS 的影響

頁數 3 1,000 20,000

最大 RPS

860

801

790

將頁數增加至 20,000 對最大 RPS 的影響不大。

多重值查閱欄位

多重值查閱欄位是清單中參照其他清單上一或多個項目的欄位,例如使用受管理的企業中繼資料的欄位。這些欄位一般會當成頁面的搜尋關鍵字,且不一定會轉譯。在某些情況下 (例如企業 Wiki),最好將這些欄位值轉譯成頁面內容。例如,建立頁面時,可能會將頁面分門別類 (例如,新聞網站上的全球新聞、人情趣味趣及運動),且主版頁面包含預留位置,可向使用者顯示標記頁面的類別。

多重值查閱欄位會造成每次要求頁面時擷取更多資料。因此,在頁面上包含許多多重值查閱欄位會影響效能。

下圖顯示多重值查閱欄位對輸送量的影響。

圖表顯示多值查閱欄位的影響

下圖顯示多重值查閱欄位對伺服器陣列資源使用率的影響。

圖表顯示多值查閱對資源的影響

由於網頁伺服器與資料庫伺服器之間的網路影響,而導致多重值查閱欄位增加時,會發生最大 RPS 降低的情況。

流量報告的影響

流量報告是協助管理員監視網站使用統計資料的服務。如需流量報告的詳細資訊,請參閱<設定 Usage and Health Data Collection (SharePoint Server 2010)>。

此流量報告計時器工作對最大 RPS 的影響測試,會在 1x1 伺服器陣列上進行。下表說明結果。

流量記錄對效能 (RPS) 的影響

啟用 DB 停用 DB 差異

啟用輸出快取

3,459

3,463

4

停用輸出快取

629

638

9

結果顯示,啟用流量記錄在唯讀案例中對 RPS 的影響不大。

關於作者

Joshua Stickler 是 Microsoft SharePoint Server 2010 的方案經理。

Tyler Butler 是 Microsoft SharePoint Server 2010 的方案經理。

Zhi Liu 是測試 Microsoft SharePoint Server 2010 的軟體開發工程師。

Cheuk Dong 是測試 Microsoft SharePoint Server 2010 的軟體開發工程師。

Cheuk Dong 是測試 Microsoft SharePoint Server 2010 的軟體開發工程師。