評估 SharePoint Server 2010 中 Microsoft Business Connectivity Services 的效能與容量

 

適用版本: SharePoint Server 2010

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

**摘要:**本文提供效能與規劃的指導,並討論在 Microsoft SharePoint Server 2010 中使用 Business Connectivity Services 的影響。

如需 Business Connectivity Services 的詳細資訊,請參閱<Business Connectivity Services 概觀 (SharePoint Server 2010)>。

本主題內容:

  • 詞彙

  • 測試伺服器陣列特性

  • 測試結果

  • 建議

詞彙

下列清單定義了本文中所使用的 Business Connectivity Services 專門用語。

專門用語 定義

關聯

關聯連結了相關的外部內容類型。例如,客戶可以建立銷售訂單的關聯。關聯可與網頁組件搭配使用。

外部項目

外部內容類型的實例。

外部清單

外部內容類型的項目清單。

外部系統

可用 Business Connectivity Services 設定模型的支援資料來源,如資料庫、Web 服務或自訂 .NET Framework 組件。

設定檔頁面

設定檔頁面顯示外部內容類型的項目資料。

Secure Store Service

是一種共用服務,其可安全地儲存外部資料來源的認證組,並會建立這些認證組與人員身分識別或群組身分識別的關聯。

網頁組件

SharePoint 網站上可重複使用的元件,提供從多個資料來源取出的資訊。

測試伺服器陣列特性

本節定義測試案例並說明每個案例所使用的測試程序。本文稍後的測試結果小節將提供測試結果及特定參數等詳細資訊。

測試名稱 測試描述

外部清單

  1. 顯示一般的外部清單。

  2. 變更外部清單的功能 (項目數目、項目大小等),以檢視其對輸送量和延遲的影響。

設定檔頁面

  1. 顯示一般的設定檔頁面。

  2. 變更設定檔頁面的功能 (每個關聯的項目數目、項目大小等),以檢視其對輸送量和延遲的影響。

資料集

外部清單和設定檔頁面的容量與效能,與處理資料量的大小有密切的關係。對於外部清單而言,要處理多少資料是由三個變數決定的:外部清單中的項目數目、每個項目中的欄數、每個項目的大小。下表說明測試中所使用的具有代表性的外部清單。

外部清單

項目數目

500

2000

4000

每個項目的欄數

25

25

25

項目大小

2 KB

4 KB

8 KB

對於設定檔頁面而言,處理資料的多少是取決於使用的關聯數目和複雜程度。關聯連結了系統中相關的外部內容類型。設定檔頁面中可以包含多個關聯,而每個關聯可以擁有多個項目。下表說明測試中使用的具有代表性的設定檔頁面。

設定檔頁面

關聯數目

2

2

10

每個關聯的項目數目

100

500

2500

項目大小

4 KB

4 KB

4 KB

工作量

測試是測量輸送量和延遲對設定檔頁面和外部清單的影響。這些測試的設計,是為了協助評估輸送量與延遲對於下列變數改變時會有什麼回應:

  • 前端網頁伺服器的數目。

  • 外部清單中的項目數目。

  • 外部項目的大小。

  • 每個關聯的項目數目。

  • 驗證方法 (PassThrough 模式或 Secure Store Service 驗證)。

  • 外部資料來源 (Windows Communication Foundation (WCF) Web 服務或 SQL Server 資料庫)。

  • 前端網頁伺服器上的負載 (以 CPU 使用量進行測量)。

本文中列出的特定容量與效能數據,會和實際工作環境中所使用的數據不同。所呈現的數據主要是做為開始設計可適當調整的環境適用的最初依據。在完成初始系統設計之後,請測試設定,判斷系統是否支援環境中的各項因素。

綠色和紅色區域定義

我們會對每個設定執行兩個測試,以決定綠色區域或可承受的建議輸送量,以及紅色區域或是短時間可容許但應該避免的最大輸送量。

為了決定紅色區域和綠色區域的使用者負載,會先進行步驟測試,並在符合下列情況下停止測試:

  • 對於綠色區域,伺服器陣列中的所有前端網頁伺服器,CPU 使用率一致維持在百分之 40-50 之間。若要達到此目標,只需在測試中增加所使用的使用者負載並建立考慮時間,也就是說,每個測試的使用者負載可能有所不同。

  • 對於紅色區域,伺服器陣列中的所有前端網頁伺服器,CPU 使用率一致維持在百分之 90-99 之間。若要達到此目標,只需在測試中增加所使用的使用者負載,也就是說,每個測試的使用者負載可能有所不同。

硬體、設定及拓撲

本節說明測試中所使用的硬體、設定及拓撲。

實驗室硬體

為提供高階測試結果詳細資料,使用了數個伺服器陣列設定進行測試。伺服器陣列設定的範圍可以是一至四部網頁伺服器,以及一部執行 Microsoft SQL Server 2008 資料庫軟體的資料庫伺服器電腦。

下表列出用於測試的特定硬體。

  前端網頁伺服器 應用程式伺服器 資料庫伺服器 外部系統

處理器

兩個處理器,2.33 GHz (4 核心)

兩個處理器,2.33 GHz (4 核心)

四個處理器,3.2 GHz (4 核心)

四個處理器,3.2 GHz (4 核心)

RAM

8 GB

8 GB

32 GB

32 GB

作業系統

Windows Server 2008 R1 (x64)

Windows Server 2008 R1 (x64)

Windows Server 2008 R1 (x64)

Windows Server 2008 R1 (x64)

網路介面卡數目

2

2

2

2

網路介面卡速度

1 GB

1 GB

1 GB

1 GB

驗證

NTLM

NTLM

NTLM

NTLM

軟體版本

SharePoint Server 2010 測試版

SharePoint Server 2010 測試版

SQL Server 2008

SQL Server 2008

測試使用兩個外部系統:WCF Web 服務與資料庫。外部系統是裝載於另一個實體電腦上 (詳細資料於列出特定硬體的表格中提供說明)。下列清單說明這兩個外部系統:

  • WCF Web 服務   傳回快取之記憶體內部資料的 WCF Web 服務。資料以有效率的方式儲存於雜湊表中,並在 Business Connectivity Services 呼叫時立即傳回。資料由各種 .NET 類型、25 個欄位、8000 個列組成。

  • 資料庫   是具有 25 個資料欄、各種資料類型以及 8000 個資料列的資料表。該資料表位於 SQL Server 2008 上所架設的另一個資料庫中。

拓撲

前端網頁伺服器上的 CPU 和記憶體是輸送量的一個重要限制因素。應用程式伺服器上的 CPU 也應視為需要呼叫 Secure Store Service 之 Business Connectivity Services 驗證模式的因素。

拓撲會因新增其他的前端網頁伺服器而有所不同。

Business Connectivity Services 容量規劃拓撲

BCS 的容量規劃拓撲

測試結果

下列小節顯示 SharePoint Server 2010 中 Business Connectivity Services 的測試結果。每組測試僅會變更特定變數,以顯示對伺服器陣列效能的漸進影響。

測試圖形使用下列圖例來說明資料集:

外部系統、測試類型,[驗證],[關聯數目]、項目大小、項目數、CPU 負載

項目 描述

外部系統

外部資料來源:WCF (WCF Web 服務) 或 DB (資料庫)。

測試類型

測試類型:EL (外部清單) 或 PP (設定檔頁面)。

驗證

驗證方法:SSS (Secure Store Service 驗證模式,例如,使用 WindowsCredentials)。如果未指定 SSS,測試期間會使用 PassThrough 模式。

關聯數目

設定檔頁面中關聯的數目 (例如,2A)。此項目僅適用於設定檔頁面測試。

項目大小

項目的大小 (以 KB 為單位)。

項目數目

外部清單中項目的數目或每個關聯的項目數目。

CPU 負載

CPU 負載:RZ (紅色區域) 前端網頁伺服器 CPU 使用率超過百分之 90,或 GZ (綠色區域) 前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

本文中報告的所有紅色區域測試都不含考慮時間,也就是連續作業間的自然延遲現象。在實際環境中,由於使用者要執行工作中的下一個步驟,因此每個作業後會有小段延遲。相較之下,紅色區域測試中每個作業後會自動執行下一個作業,因此會持續載入伺服器陣列。這種載入會引發資料庫爭用,並產生會對效能造成負面影響的其他因素。

前端網頁伺服器數目對延遲的影響

下列圖形顯示延遲時前端網頁伺服器數目產生的測試結果。測試結果分別以數個圖形表示,以便於比較相關變數。

圖表 1:

下圖顯示外部清單的測試結果。它可用來比較外部系統 (資料庫或 WCF Web 服務) 與 CPU 負載 (紅色區域或綠色區域) 對效能的影響。

圖表 1:前端網頁伺服器數目對延遲的影響

網頁伺服器數目對延遲的影響

下列清單說明所使用的資料集。

  • WCF,EL,4k,500,RZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,4k,500,GZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB, EL, 4k,500, GZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

圖表 2:

下圖顯示設定檔頁面的測試結果。它可用來比較外部系統 (資料庫或 WCF Web 服務) 與 CPU 負載 (紅色區域或綠色區域) 對效能的影響。

圖表 2:前端網頁伺服器數目對延遲的影響

平均頁面時間與網頁伺服器數目

如圖表 1 和圖表 2 中所示,儘管新增了更多前端網頁伺服器和使用者,但是綠色區域和紅色區域案例的平均頁面時間仍大致相同 (在測試期間,我們增加了使用者負載,以便將所有的前端網頁伺服器保持在必要的 CPU 活動範圍內)。不過,由於在伺服器陣列中增加了前端網頁伺服器數目,以便讓 SharePoint Server 以相同的速率服務更多使用者,因此仍然使效能有所提升。將綠色區域案例和紅色區域案例相比較,效能明顯提升約五倍。因此,建議您將前端網頁伺服器 CPU 使用率保持在百分之 40-50 的範圍內。

下列清單說明所使用的資料集:

  • WCF,PP,2A,100,RZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,2A,100,RZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,2A,100,GZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,2A,100,GZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

圖表 3:

下圖顯示紅色區域的測試結果。相似的資料放在一起,因此唯一的變數是所使用的驗證。此資料可用來判斷使用 Secure Store Service 是否會影響效能。

注意

測試是使用實驗室環境進行的。PassThrough 模式僅用於比較。這些測試不表示您應該將 PassThrough 模式用於驗證。

圖表 3:前端網頁伺服器數目對延遲的影響

每秒要求數目與網頁伺服器數目

在紅色區域案例中,Secure Store Service 似乎沒有如平均頁面時間所測量的有明顯的額外負荷。這可能是因為 Secure Store Service 額外負荷被其他更大的因素所掩蓋了,也就是指高使用者負載。在大部分的情況下,Secure Store Service 與非 Secure Store Service 的結果類似。

另請記住,Secure Store Service 對應用程式伺服器幾乎沒有影響。

下列清單說明所使用的資料集:

  • WCF,EL,4k,500,RZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,SSS,4k,500,RZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,2A,100,RZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,SSS,2A,100,RZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,SSS,4k,500,RZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,2A,100,RZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

圖表 4:

下圖顯示綠色區域的測試結果。相似的資料放在一起,因此唯一的變數是所使用的驗證。相似的資料集可用來判斷使用 Secure Store Service 是否會影響效能。

注意

測試是使用實驗室環境進行的。PassThrough 模式僅用於比較。這些測試不表示您應該將 PassThrough 模式用於驗證。

圖表 4:前端網頁伺服器數目對延遲的影響

平均頁面時間與網頁伺服器數目

在一般負載案例中,與 Secure Store Service 關聯的額外負荷在設定檔頁面上變得更為明顯。設定檔頁面的平均頁面時間,會稍微多出約 20 毫秒的時間。

下列清單說明所使用的資料集:

  • WCF,EL,4k,500,GZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,EL,SSS,4k,500,GZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,PP,2A,100,GZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,PP,SSS,2A,100,GZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,4k,500,GZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,SSS,4k,500,GZ:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,2A,100,GZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,SSS,2A,100,GZ:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

前端網頁伺服器數目對輸送量的影響

圖表 1:

下圖顯示外部清單以每秒要求數目 (RPS) 進行測量的測試結果。它可用來比較 CPU 負載 (紅色區域或綠色區域) 對效能的影響。

圖表 1:前端網頁伺服器數目對輸送量的影響

每秒要求數目與網頁伺服器數目

下列清單說明所使用的資料集:

  • WCF,EL,4k,500,RZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,4k,500,GZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

圖表 2:

下圖顯示設定檔頁面以每秒要求數目 (RPS) 進行測量的測試結果。它可用來比較外部系統 (資料庫或 WCF Web 服務) 與 CPU 負載 (紅色區域或綠色區域) 對效能的影響。

圖表 2:前端網頁伺服器數目對輸送量的影響

每秒要求數目與網頁伺服器數目

如圖表 1 和圖表 2 中所示,RPS 以線性方式成長,直到新增了第三個前端網頁伺服器。在此之後,趨勢變成對數或次線性。雖然在伺服器陣列中新增更多前端網頁伺服器能帶來更多效益,不過,對於成本而言卻沒有多大助益。特別是,新增第四個前端網頁伺服器只會得到非常小的效益。

下列清單說明所使用的資料集:

  • WCF,PP,2A,100,RZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,2A,100,RZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,2A,100,GZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,2A,100,GZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

圖表 3:

下圖顯示紅色區域以每秒要求數目 (RPS) 進行測量的測試結果。相似的資料放在一起,因此唯一的變數是所使用的驗證。這些結果可用來判斷使用 Secure Store Service 是否會影響效能。

注意

我們的測試是使用實驗室環境進行的。PassThrough 模式僅用於比較。這些測試不表示您應該將 PassThrough 模式用於驗證。

圖表 3:前端網頁伺服器數目對輸送量的影響

每秒要求數目與網頁伺服器數目

下列清單說明所使用的資料集:

  • WCF,EL,4k,500,RZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,SSS,4k,500,RZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,2A,100,RZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,SSS,2A,100,RZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,4k,500,RZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,SSS,4k,500,RZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,2A,100,RZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,SSS,2A,100,RZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

圖表 4:

下圖顯示綠色區域以每秒要求數目 (RPS) 進行測量的測試結果。相似的資料放在一起,因此唯一的變數是所使用的驗證。它可用來判斷使用 Secure Store Service 是否會影響效能。

注意

我們的測試是使用實驗室環境進行的。PassThrough 模式僅用於比較。這些測試不表示您應該將 PassThrough 模式用於驗證。

圖表 4:前端網頁伺服器數目對輸送量的影響

每秒要求數目與網頁伺服器數目

如圖表 3 和圖表 4 中所示,Secure Store Service 額外負荷在某些情況下不會造成 RPS 值變低。不過,線性對數趨勢是相似的,而且在大部分情況下,Secure Store Service 與非 Secure Store Service 額外負荷之間的 RPS 差異很微小。

下列清單說明所使用的資料集:

  • WCF,EL,4k,500,GZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,EL,SSS,4k,500,GZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,PP,2A,100,GZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,PP,SSS,2A,100,GZ,RPSR:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,4k,500,GZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,SSS,4k,500,GZ,RPS:具有 500 個項目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,2A,100,GZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 PassThrough 驗證模式、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,SSS,2A,GZ,RPS:具有 2 個關聯的設定檔頁面、每個關聯有 100 個項目、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

項目大小對延遲的影響

下圖顯示外部項目大小對延遲的測試結果。測試提高了外部清單中項目的大小,並測量對延遲的影響。

項目大小對延遲的影響

平均頁面時間與項目大小

下列清單說明所使用的資料集:

  • WCF,EL,500,RZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,SSS,500,RZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,500,GZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,EL,SSS,500,GZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

項目大小對輸送量的影響

下圖顯示外部項目大小對輸送量以每秒要求數目 (RPS) 進行測量的測試結果。測試增加了外部清單中項目的大小,並測量對輸送量的影響。

項目大小對輸送量的影響

每秒要求數目與項目大小

隨著項目大小的增加,RPS 效能永遠會掉到線性值之下。高負載條件提供更高的 RPS。不過,如先前的測試結果所示,高負載條件也會造成頁面回應時間較長。

下列清單說明所使用的資料集:

  • WCF,EL,500,RZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,SSS,500,RZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,500,GZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,EL,SSS,500,GZ:具有 500 個項目的外部清單、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

項目數目對延遲的影響

下圖顯示項目數目對延遲的測試結果。測試增加了外部清單中的項目數目,並測量它對頁面轉譯時間的影響。

項目數目對延遲的影響

平均頁面時間與項目數

下列清單說明所使用的資料集:

  • WCF,EL,4k,RZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,SSS,4k,RZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,4k,RZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,SSS,4k,RZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,4k,GZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,EL,SSS,4k,GZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,4k,GZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,SSS,4k,RZ:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

項目數目對輸送量的影響

下圖顯示項目數目對輸送量以每秒要求數目 (RPS) 進行測量的測試結果。測試增加了外部清單中項目的數目,並測量對輸送量的影響。

項目數目對輸送量的影響

每秒要求數目與項目數

如此圖中所示,隨著項目數目的增加,RPS 幾乎以線性方式增加。與之前針對項目大小之影響的測試相比,增加項目數目似乎比增加項目大小對效能的影響更大。

下列清單說明資料集:

  • WCF,EL,4k,RZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,SSS,4k,RZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,4k,RZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,EL,SSS,4k,RZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,EL,4k,GZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • WCF,EL,SSS,4k,GZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,4k,GZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,EL,SSS,4k,GZ,RPS:具有不同項目數目的外部清單、每個項目有 4 KB 的資料、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

每個關聯之項目數目對延遲的影響

下圖顯示關聯中項目數目對延遲的測試結果。測試增加了關聯中的項目數目,並測量它對頁面轉譯時間的影響。

每個關聯之項目數目對延遲的影響

頁面時間與每個關聯的項目數

下列清單說明資料集:

  • WCF,PP,2A,RZ:具有 2 個關聯的設定檔頁面、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP, SSS,2A,RZ:具有 2 個關聯的設定檔頁面、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,2A,GZ:具有 2 個關聯的設定檔頁面、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,SSS,2A,GZ:具有 2 個關聯的設定檔頁面、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

每個關聯之項目數目對輸送量的影響

下圖顯示關聯中項目數目對輸送量以每秒要求數目 (RPS) 進行測量的測試結果。測試增加了關聯中項目的數目,並測量對輸送量的影響。

每個關聯之項目數目對輸送量的影響

要求數目與每個關聯的項目數

下列清單說明資料集:

  • WCF,PP,2A,RZ:具有 2 個關聯的設定檔頁面、外部系統為 WCF Web 服務、前端網頁伺服器 CPU 使用率超過百分之 90。

  • WCF,PP,SSS,2A,RZ:具有 2 個關聯的設定檔頁面、外部系統為 WCF Web 服務、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率超過百分之 90。

  • DB,PP,2A,GZ:具有 2 個關聯的設定檔頁面、外部系統為資料庫、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

  • DB,PP,SSS,2A,GZ:具有 2 個關聯的設定檔頁面、外部系統為資料庫、使用 Secure Store Service 驗證模式 (例如,WindowsCredentials)、前端網頁伺服器 CPU 使用率介於百分之 40-50 之間。

建議

本節提供一般的效能及容量建議。可使用這些建議判斷您建立的起始拓撲的容量與效能特性,決定需要在系統外或系統內升級起始拓撲。

硬體建議

如需最低和建議系統需求的特定資訊,請參閱硬體及軟體的需求 (SharePoint Server 2010) ()。

注意

網頁伺服器和資料庫伺服器的記憶體需求,取決於伺服器陣列的大小、並行使用者數目以及伺服器陣列中功能與頁面的複雜度。下表中建議的記憶體對於小量或不常使用伺服器陣列或許足夠。不過,還是應該小心監視記憶體的使用狀況,以決定是否需要增加更多的記憶體。

Business Connectivity Services 效能相關建議

本節提供使用外部清單和設定檔頁面的效能建議,以及 Business Connectivity Services 的一般效能建議。

外部清單建議

下表說明資料如何從外部系統移動至外部清單。

負載 處理序 轉譯

Microsoft Business Connectivity Services 查詢外部系統,並將傳回的資料載入至 SharePoint Server。

在載入的資料上套用任何其他處理序 (排序、篩選、群組)。

外部清單轉譯頁面上的項目。

Microsoft Business Connectivity Services 無法對外部項目進行記憶體內部快取。每次外部清單重新整理時,都必須載入、處理及轉譯資料。因此,這些建議大都會嘗試限制必須處理的資料量。

下列清單說明外部清單建議:

  • 限制從外部系統傳回的資料列數目,盡量降低必須處理的項目數目。對於外部清單效能而言,這是主要因素。建議您將傳回的資料列數目保持在 100-500 之間。從外部系統傳回的資料列數目應該不超過 2000 個。您可以使用篩選限制外部系統傳回的項目數目。如需篩選的詳細資訊,請參閱 How to:根據 SQL Server 資料表建立外部內容類型 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=192184&clcid=0x404) (可能為英文網頁)。

  • 轉譯清單在前端網頁伺服器和應用程式伺服器上會耗用大量的 CPU。轉譯的項目數目與載入和處理的項目總數會有所不同。轉譯的項目數目取決於外部清單檢視的設定。請考慮整體的使用者體驗、螢幕上最適合檢視的項目數目,以及將每個頁面上的項目數目保持為合理的數目。建議您將每個頁面上的項目數目保持在 30 個左右 (這是預設值)。

  • 將外部清單中的資料欄數目保持為合理的數目。大量的資料欄數目會影響效能,也可能讓使用者體驗變差 (螢幕上顯示太多資料欄以致不適合檢視)。

  • 清單檢視中不要包含大型資料欄 (特別是字串);清單檢視不應該包含大於 1 KB 的資料欄。外部內容類型仍然可以包含大型資料欄。不過,僅應該以單一項目檢視顯示。

  • 設計外部清單時,請將預設檢視設定為大部分使用者都會使用的檢視方式。變更檢視上的排序或篩選,都需要重新載入、處理及轉譯資料。

設定檔頁面建議

  • 關聯數目是影響設定檔頁面效能的一個重要因素。建議您將關聯數目最多保持為 2 個,以獲得最佳效能。

  • 對於輸送量和延遲,如果每個關聯中具有較多的項目數目,都會降低效能。

Business Connectivity Services 的一般建議

  • 前端網頁伺服器數目對延遲的影響,以及綠色區域案例和紅色區域案例的比較而言,效能明顯提高 (約五倍)。建議您將前端網頁伺服器 CPU 使用率保持在百分之 40-50 的範圍內。

  • 項目數目似乎比項目大小對效能的影響更大。如果控制外部資料來源,請保持較大的項目大小及較少的項目數目,以獲得較佳的結果。例如,考慮將大型資料彙總為單一項目,而不是將資料分散為許多項目。

  • Microsoft Business Connectivity Services 的診斷記錄層級,也是使用者所認知影響延遲和輸送量的重要因素。將記錄層級保留在您業務需求所允許的最低層級,以備定期使用。僅在需要進行更密切的監視時,才暫時將記錄層級設為較高的詳細程度。

  • 外部系統的效能對 Business Connectivity Services 效能扮演重要的角色。在您規劃容量和效能時,請將外部系統的延遲和輸送量列入考慮。

向上擴充和向外擴充的拓撲

將您的起始點拓撲與規劃可用性 (SharePoint Server 2010) (https://go.microsoft.com/fwlink/?linkid=189518&clcid=0x404) 中提供的起始點拓撲加以比較,可以預估您的拓撲效能。這種方式能夠幫助您快速判斷是否必須向上或向外擴充您的起始點拓撲,以便達到您的效能和容量目標。

若要增加其中一個起始點拓撲的容量和效能,您可以增加現有伺服器電腦的容量以向上擴充,或將其他的伺服器新增至拓撲以向外擴充。本節說明數種向外擴充拓撲的一般效能特性。拓撲範例表示下列向外擴充拓撲的常見方式。

  • 若要提供更多使用者負載,請增加網頁伺服器電腦。

  • 若要提供更多資料載入,請增加一部 (叢集或鏡像) 伺服器的容量、升級至 64 位元伺服器或增加叢集或鏡像伺服器,以增加資料庫伺服器角色的容量。

  • 將一部 (叢集或鏡像) 資料庫伺服器電腦與網頁伺服器電腦的比例維持在 1:8 (不超過)。雖然對於每個測試案例,測試會對資料庫伺服器產生特定最佳比例的網頁伺服器數目,不過,部署更多完備的硬體 (特別是針對資料庫伺服器) 可以在環境中產生更好的結果。

預估輸送量目標

影響輸送量的因素有許多。這些因素包括下列各項:

  • 使用者人數

  • 使用者作業的類型、複雜性和頻率

  • 作業中的回傳數

  • 資料連線的效能。

這些因素各自對伺服器陣列輸送量有重大影響。在規劃部署時,請謹慎考慮每個因素。

有許多方式可以部署與設定 SharePoint Server 2010;並沒有簡單的方法可以預估指定的伺服器數量能夠支援多少位使用者。您在實際執行環境中部署 SharePoint Server 2010 前,請務必先在自己的環境中進行測試。

最佳化

常見瓶頸及其原因

在效能測試期間,會發現幾個不同的常見瓶頸。瓶頸是伺服器陣列特定區域的容量已滿的情況。這會導致伺服器陣列輸送量停滯或降低。

下表列出一些常見的瓶頸,並說明其原因和潛在解決方式。

效能和延展性疑難排解

瓶頸 原因 解決方法

資料庫爭用 (鎖定)

資料庫鎖定可防止多位使用者因為修改一組資料而產生衝突。當使用者或處理程序鎖定一組資料時,其他使用者或處理程序無法變更該組資料,直到第一位使用者或第一個處理程序完成修改資料並釋放鎖定為止。

若要協助減少資料庫鎖定的事件,請執行下列動作:

  • 將提交的表單散佈至更多文件庫。

  • 升級資料庫伺服器。

  • 微調資料庫伺服器硬碟的讀/寫設定。

SQL Server 2005 中提供規避資料庫鎖定系統的方法,例如,NOLOCK 參數。不過,不建議或支援使用這種方法,因為可能毀損資料。

資料庫伺服器磁碟 I/O

當硬碟的 I/O 要求數量超過磁碟的 I/O 容量時,將會佇列要求。因此,完成每個要求的時間就會增加。

將資料檔散佈至多個實體磁碟可允許平行 I/O。SharePoint 磁碟配置與磁碟 I/O (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=129557&clcid=0x404) (可能為英文網頁) 部落格文章中包含許多解決磁碟 I/O 問題的實用資訊。

網頁伺服器 CPU 使用率

當網頁伺服器的使用者要求負載過重時,平均 CPU 使用率將達到百分之百。如此會讓網頁伺服器無法快速回應要求,而且可能在用戶端電腦造成逾時現象和產生錯誤訊息。

這個問題有兩種方式可以解決。您可以在伺服器陣列中新增網頁伺服器來分散使用者負載,或者,加入更高速的處理器來升級網頁伺服器。如需詳細資訊,請參閱規劃可用性 (SharePoint Server 2010) (https://go.microsoft.com/fwlink/?linkid=189518&clcid=0x404)。

效能監視

為協助決定何時必須向上擴充或向外擴充系統,請使用效能計數器監視系統健康狀態。請使用下表中的資訊,以判斷所要監視的效能計數器,以及應該套用效能計數器的處理程序。

網頁伺服器

下表顯示監視伺服器陣列中網頁伺服器的效能計數器和處理程序。

效能計數器 套用至物件 附註

處理器時間

總計

顯示此執行緒使用處理器執行指令的經過時間百分比。

記憶體使用量

應用程式集區

顯示應用程式集區的系統記憶體平均使用量。您必須決定要監看的正確應用程式集區。

基本原則是判斷指定的 Web 應用程式尖峰記憶體使用量,並將該數字加上 10,指派給關聯的應用程式集區。

資料庫伺服器

下表顯示監看伺服器陣列中資料庫伺服器的效能計數器和處理程序。

效能計數器 套用至物件 附註

磁碟平均佇列長度

包含 SharedServices.mdf 的硬碟

大於每轉速 1.5 的平均值表示該硬碟的寫入時間不足。

處理器時間

SQL Server 處理程序

平均值大於 80% 表示資料庫伺服器的處理器容量不足。

處理器時間

總計

顯示此執行緒使用處理器執行指令的經過時間百分比。

記憶體使用量

總計

顯示系統記憶體的平均使用量。

See Also

Other Resources

資源中心:SharePoint Server 2010 中的 Business Connectivity Services (可能為英文網頁)