估計 SharePoint Server 2010 中 Word Automation Services 的效能與容量需求

 

適用版本: SharePoint Server 2010

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

本文包含 Word Automation Services 的容量規劃指導。本文可用來幫助評估在執行 SharePoint Server 2010 的拓撲上的 Word Automation Services 硬體及 Microsoft SharePoint Server 2010 伺服器陣列需求。

本文內容:

  • 測試伺服器陣列特性

  • 測試結果

  • 建議

  • 疑難排解

測試伺服器陣列特性

本節說明在 Word Automation Services 2010 的效能與容量測試期間,所使用的資料集、工作量、硬體設定、拓撲及測試定義。

資料集

用於測試的資料集包括 384 個包含下列 Microsoft Word 2007 內容類型的唯一 Open XML .docx 檔:

  • 含直接格式設定的文字

  • 內容控制項

  • 圖像

  • 表格

  • 樣式

  • 欄位

  • OLE 物件

  • 超連結

  • 書籤

  • 註解

  • 引文

這些檔案的大小範圍從 20 KB 到 8.8 MB,每個檔案的平均大小為 225 KB。使用這 384 個檔案的複本來建立含有大約 20,000 個文件的文件庫。然後再使用該文件庫作為每次執行測試的輸入文件庫。

工作量

設計 Word Automation Services 測試的目的,是要幫助開發人員預估不同的伺服器陣列設定會如何回應下列變數中的變更:

  • 伺服器陣列中啟用 Word Automation Services 的應用程式伺服器數目

  • 每個啟用 Word Automation Services 之應用程式伺服器的使用中轉換程序數目

  • Word Automation Services 資料庫中的項目數

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

測試定義

本節定義本文的測試案例,並說明每個案例所使用的測試程序。如需測試結果及特定參數等詳細資訊,請參閱<測試結果>。

表 1 本文的測試定義

測試名稱 測試描述

輸送量規模

  1. 在 SharePoint Server 中建立文件庫,並填入一些有效的 Open XML 檔 (.docx)。

  2. 建立並啟動轉換工作,使用步驟 1 的文件庫作為輸入文件庫。

  3. 當轉換工作完成,且所有轉換項目都已成功或失敗,請使用 Word Automation Services 資料庫中的結果來判斷該服務在轉換期間的整體輸送量。

SQL Server 資料庫檔案大小

  1. 在 SharePoint Server 中建立文件庫,並填入一些有效的 Open XML 檔。

  2. 啟動並取消轉換工作來填入資料庫。並不需要完成轉換工作。

  3. 記錄資料庫 .ldf 及 .mdf 檔的大小。

硬體、設定及拓撲

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

實驗室硬體

為提供高階測試結果詳細資料,使用了數個伺服器陣列設定進行測試。伺服器陣列設定的範圍為一到七部應用程式伺服器,以及一部執行 Microsoft SQL Server 2008 資料庫軟體的資料庫伺服器。所有伺服器都是 64 位元。

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

表 2 Word Automation Services 測試拓撲的實驗室硬體詳細資料

詳細資料 前端網頁伺服器–應用程式伺服器 1 應用程式伺服器 2-7 資料庫伺服器

角色

前端網頁伺服器–應用程式伺服器 (共用)

應用程式伺服器 (專用)

SQL Server 叢集 (一部電腦)

處理器

2px4c @2.33 GHz

2px4c @2.33 GHz

4px4c @3.2 GHz

RAM

8 GB

8 GB

16 GB

作業系統

Windows Server 2008 SP2 x64

Windows Server 2008 SP2 x64

Windows Server 2008 SP2 x64

儲存與幾何 (包括 SQL Server 磁碟設定)

6 個磁碟 * 590 GB

6 個磁碟 * 590 GB

6 個磁碟 * 460 GB

網路介面卡數目

2

2

2

網路介面卡速度

1 GB

1 GB

1 GB

驗證

NTLM

NTLM

NTLM

軟體版本

4762.1000

4762.1000

SQL Server 2008

SQL Server 執行個體數

不適用

不適用

 1

負載平衡器類型

NLB

NLB

不適用

ULS 記錄層級

專用前端網頁伺服器從不用來測試。用來驅動測試的前端網頁伺服器也是應用程式伺服器 1。Word Automation Services 專用拓撲一般都是這樣,因為 SharePoint Server 前端網頁伺服器不會用來處理轉換。前端網頁伺服器的唯一角色,就是利用自訂 SharePoint Server 解決方案來建立轉換工作,例如自訂網頁組件。前端網頁伺服器可能必須持續回應,SharePoint Server 解決方案才能正確運作。

針對 Word Automation Services 測試伺服器陣列,前端網頁伺服器–應用程式伺服器 1 上使用了簡單的 C# 應用程式,以間歇性地建立轉換工作來進行測試。維持前端網頁伺服器的回應並非此伺服器陣列的考量。因此,前端網頁伺服器很適合用來作為應用程式伺服器。

拓撲

圖表 1 – Word Automation Services 測試伺服器陣列拓撲

測試伺服器陣列拓撲

測試結果

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

輸送量規模

使用中轉換程序對輸送量的影響

下表中的兩個測試顯示,隨著單一應用程式伺服器上的使用中轉換程序數目逐漸增加,Word Automation Services 的輸送量會如何增加。資料顯示兩種輸出格式:Open XML (.docx) 及 PDF。Open XML 轉換提供基準輸送量來與其他輸出格式比較,而 PDF 轉換則是提供較典型的轉換輸送量範例。

表 3 隨著使用中轉換程序增加的八核心應用程式伺服器輸送量範例

使用中轉換程序 Open XML PDF

1

2.72

1.13

2

4.65

1.78

3

5.92

1.99

4

7.02

2.00

6

7.73

1.87

8

9.45

1.64

16

7.91

1.41

24

8.06

1.37

32

7.71

1.37

當 Word Automation Services 使用六個使用中轉換程序,而不是四個時,PDF 會有輸送量降低的情形。這是因為在轉換成 PDF (或 XPS) 時,Word Automation Services 中有個別伺服器的限制。相對地,Open XML 的輸送量並沒有這個限制,並且會繼續增加,直到八個使用中轉換程序都用完。然而,當使用中轉換程序數目超過伺服器上的處理核心數時,Open XML 會遇到另一個更常見的限制 (在此案例中,該數目為八個核心)。

與使用四個使用中轉換程序相比,當您使用六個使用中轉換程序時,Open XML 的輸送量通常會稍微提升,這是 Word Automation Services 的典型變化。這就顯現出,輸送量與給定設定的預期,會有什麼樣的不同。

下列圖表是此資料的圖形。

隨著使用中轉換程序增加的八核心應用程式伺服器輸送量範例

8 核心應用程式伺服器的輸送量範例

16、24 及 32 個使用中轉換程序的數目顯現出,使用中轉換程序數目超過處理核心,會對應用程式伺服器的輸送量產生負面影響。當 Word Automation Services 針對給定的應用程式伺服器使用不受支援的「使用中轉換程序總計」數目時,轉換項目有時候也比較容易失敗。

這個測試的結果說明了使用中轉換程序數目對輸送量的下列重要影響:

  • 當您為每部伺服器從一個使用中轉換程序增加為三個使用中轉換程序時,轉換為 PDF 的輸送量可獲得最佳提升。在具有四個以上處理核心的任何伺服器上,使用大約四個以上的使用中轉換程序時,PDF 輸送量就會開始降低。這是 Word Automation Services 的限制。相同的限制也適用於 XPS。

  • 其他格式 (例如 Open XML) 的輸送量提升可以非常順利地向上擴充到 n 個使用中轉換程序,其中 n 是應用程式伺服器上的處理核心數。然而,應用程式伺服器的「使用中轉換程序總計」最大數建議為 n-1。在<建議>一節中有更詳細的說明。

應用程式伺服器數目增加對輸送量的影響

下表中的兩個測試顯示,隨著應用程式伺服器的數目逐漸增加,Word Automation Services 的輸送量會如何增加。伺服器陣列的「使用中轉換程序總計」數目設為八個。資料顯示兩種輸出格式:Open XML 及 PDF。Open XML 轉換輸送量是大部分輸出格式的優良代表,而在表示 PDF 及 XPS 時,PDF 轉換輸送量較佳。

表 4 隨著應用程式伺服器數目增加的伺服器陣列輸送量範例

拓撲 Open XML PDF

1x1

9.5

1.64

1x2

17.3

3.25

1x3

23.1

4.81

1x4

32.8

6.52

1x5

39.7

7.87

1x6

45.9

9.50

1x7

52.1

11.48

下列圖表顯示,每增加一部伺服器,PDF 及 Open XML 的輸送量通常會維持直線增加。

圖表 2 – 隨著應用程式伺服器數目增加的伺服器陣列輸送量範例

應用程式伺服器數目增加時的輸送量

表 5 單一伺服器輸送量的增加百分比

拓撲 Open XML PDF

1x1

不適用

不適用

1x2

82.11

97.57

1x3

61.05

95.30

1x4

102.11

103.66

1x5

72.63

82.21

1x6

65.26

99.05

1x7

65.26

120.54

表 6 Z-1 輸送量的輸送量增加百分比

拓撲 Open XML PDF

1x1

不適用

不適用

1x2

82.11

97.57

1x3

33.53

48.24

1x4

41.99

35.40

1x5

21.04

20.73

1x6

15.62

20.69

1x7

13.51

20.86

表 5 顯示相較於單一應用程式伺服器的輸送量,輸送量的增加百分比。例如,相較於 1x1 拓撲 (單一應用程式伺服器),1x4 拓撲 (四部應用程式伺服器) 的輸送量提升了 102.11 個百分比。

表 6 顯示相較於表格中列出之上一個拓撲的輸送量,輸送量的增加百分比。例如,1x4 拓撲有四部應用程式伺服器。因此,Z = 4。如果 Z = 4,則 Z-1 = 3,而 Z-1 拓撲為 1x3 拓撲。相較於 1x3 拓撲,1x4 拓撲的輸送量提升了 41.99%。

這些數字只是在給定的 Word Automation Services 實際執行部署中,輸送量可能的增加方式範例。這些表格中出現的某些變化可能不是其他 SharePoint Server 伺服器陣列的典型變化。

「使用中轉換程序總計」數目設為八個。因此,如果已設定「使用中轉換程序總計」數目來避免因為 Word Automation Services 中的每部伺服器限制 (如表 3 所示),而導致 PDF 的輸送量降低,PDF 結果可能會少於這些應用程式伺服器的預期。將「使用中轉換程序總計」數目設為四,表 4 中的 PDF 輸送量數目可望大幅提升。然而,這肯定會降低 Open XML 的輸送量數目,如表 3 中的結果所示。從這些觀察中,可以了解到輸送量的一個重要特性,那就是當您選取「使用中轉換程序總計」設定的值時,需要權衡一下利弊得失。<建議>一節中建議的 Word Automation Services 設定會提供兩組建議設定,以將此權衡納入考量。

此資料顯示,向外擴充是為任何輸出格式增加 Word Automation Services 輸送量的絕佳方式。這裡顯示的輸送量直線提升不可能像拓撲成長一樣無限增加。將會出現一些瓶頸。例如,SQL Server 電腦終究會達到容量。

SQL Server 資料庫檔案大小

資料庫大小

針對資料庫中的每個轉換項目,Word Automation Services 資料庫需要 1.58 到 0.15 KB 之間的磁碟空間,如下表所示。

表 7 不同轉換項目數的 .Mdf 檔案大小

新增的項目 .Mdf 檔案大小 (KB) 每個項目的 KB

2,304

3,648

1.58

4,608

3,648

0.79

23,040

6,720

0.29

46,080

10,048

0.22

230,400

37,952

0.16

460,800

72,000

0.16

1,152,000

174,400

0.15

2,304,000

345,408

0.15

3,456,000

515,392

0.15

4,608,000

685,376

0.15

11,520,000

1,707,328

0.15

23,040,000

3,429,568

0.15

您可以從這個資料了解到,針對新增至 Word Automation Services 資料庫的每個轉換項目,.mdf 檔大小最後的增加率大約為 0.15 KB。大概前 50,000 個轉換項目是例外。然而,當轉換項目數這麼小時,.mdf 檔的總大小顯然是可管理的。

一般而言,我們建議 Word Automation Services 資料庫不要成長到大於 2 百萬個轉換項目的大小。否則,有些 Word Automation Services 解決方案的效能可能會隨著資料庫成長而降低。

從 Word Automation Services 資料庫刪除項目

針對從資料庫刪除的每個項目,SQL Server .ldf 檔中的 Word Automation Services 會用到大概 0.2 到 0.5 KB 的磁碟空間。SQL Server 會使用 .ldf 檔來維護 Word Automation Services 資料庫的復原資料。

表 8 不同轉換項目刪除數的 .Ldf 檔案大小

刪除的項目 .Ldf 檔案大小 (KB) 每個項目的 KB

2,304

1,856

0.56

4,608

2,624

0.44

11,520

2,624

0.18

23,040

2,624

0.09

46,080

20,416

0.43

69,120

20,416

0.29

115,200

39,936

0.34

172,800

53,248

0.30

207,360

53,248

0.25

218,880

53,248

0.24

228,096

53,248

0.23

230,400

53,248

0.23

.ldf 檔案大小會依 SQL Server 自動成長設定所指定的特定間隔來擴充。如需 .ldf 檔案成長的詳細資訊,請參閱下列文章:執行 SQL Server 之電腦上的交易記錄檔意外地擴充或滿溢 (https://go.microsoft.com/fwlink/?linkid=217307&clcid=0x404)。

如果長時間不注意,.ldf 檔案就會一直成長,直到 SQL Server 電腦將磁碟空間用盡。針對任何實際執行伺服器陣列,都應考慮在例行維護程序中納入定期降低 .ldf 檔案大小這一項。如需有關如何處理過大 .ldf 檔案的詳細資訊,請參閱下列文章:復原 SQL Server 資料庫中的完整交易記錄檔

建議

單一伺服器的伺服器陣列

Word Automation Services 可以在安裝單一伺服器的 SharePoint Server 上執行。這部伺服器是用作前端網頁伺服器、應用程式伺服器,以及 Word Automation Services 資料庫和各種 SharePoint 資料庫的資料庫伺服器。

然而,在實際執行環境中,強烈建議您不要使用單一伺服器的伺服器陣列。Word Automation Services、SharePoint Server 及 SQL Server 將會競用資源,進而導致效能與 Word Automation Services 不一致。

基本 Word Automation Services 伺服器陣列

基本 Word Automation Services 伺服器陣列由兩部伺服器組成:一部伺服器同時用作前端網頁伺服器及應用程式伺服器,另一部伺服器則用作 SQL Server for SharePoint Server 及 Word Automation Services 的執行個體。這樣的設定應視為實際執行 Word Automation Services 伺服器陣列的最小拓撲。如需此基本拓撲的擴充說明,請參閱<進階拓撲>。

圖表 2 – 簡單的 Word Automation Services 伺服器陣列拓撲

簡單的 Word Automation Services 伺服器陣列

進階拓撲

若要增加基本 Word Automation Services 伺服器陣列的容量與效能,您可以增加現有應用程式伺服器的容量以向上擴充,或將其他伺服器新增至拓撲以向外擴充。本節說明數個拓撲的一般效能特性及建議設定,將這兩個策略合併在各種設定中。這裡並未呈現所有可能的拓撲;這裡說明的拓撲是精選出來的範例。

向外擴充的拓撲 1:更多應用程式伺服器

向外擴充的拓撲是藉由新增更多應用程式伺服器至伺服器陣列,以增加伺服器陣列的容量。如表 4 中的測試結果所示,若要為任何輸出格式增加伺服器陣列的容量,這是很有效的策略。當您已向上擴充的現有伺服器不再對 Word Automation Services 的輸送量有所助益時,向外擴充就是很好的下一步。

圖表 3 – 以三部應用程式伺服器將 Word Automation Services 伺服器陣列拓撲向外擴充

向外擴充的 Word Automation Services 伺服器陣列

向外擴充的拓撲 2:降低 SQL Server 影響

Word Automation Services 會維護它自己的 SQL Server 資料庫。在基本 Word Automation Services 伺服器陣列中,Word Automation Services 資料庫以及與 SharePoint Server 相關聯的資料庫都存在於相同的 SQL Server 實體執行個體中。Word Automation Services 會同時影響與 SharePoint Server 相關聯的資料庫 (例如,輸入至內容資料庫,以及從內容資料庫輸出) 以及 Word Automation Services 資料庫 (例如,在轉換順利完成時,更新轉換項目的狀態)。

若要防止共用資料庫伺服器變成 Word Automation Services 及 SharePoint Server 的瓶頸,可以建立個別的實體資料庫伺服器來主控 Word Automation Services 資料庫。如果共用資料庫伺服器是伺服器陣列的瓶頸,這樣可以提升 Word Automation Services 的輸送量及可靠性。

圖表 4 - 具有專用 SQL Server 拓撲的 Word Automation Services 伺服器陣列

使用專用 SQL 的 Word Automation Services 伺服器陣列

單一資料庫伺服器通常不是小型伺服器陣列的瓶頸,尤其是當 Word Automation Services 是所使用的唯一服務時。

向上擴充的拓撲:專用 Word Automation Services 伺服器陣列

專用 Word Automation Services 伺服器陣列 (如下列圖表所示) 是將 Word Automation Services 輸送量最大化的最佳拓撲。這種拓撲需要設定 Word Automation Services 來完全利用應用程式伺服器資源,以增加伺服器陣列中個別伺服器的容量。有幾個金鑰服務設定是必須設定的,才能達成這個目的,而不會受到服務限制。

圖表 5 – 專用 Word Automation Services 伺服器陣列拓撲範例

專用 Word Automation Services 伺服器陣列

如果使用驅動 Word Automation Services 的解決方案來建立許多小型轉換工作,在與伺服器陣列中之專用應用程式伺服器分開的前端網頁伺服器上執行 Word Automation Services 解決方案,將有助於效能。在這樣的案例中,專用前端網頁伺服器有助於確保解決方案有所回應,即使當應用程式伺服器有負載時也一樣。上一個圖表顯示另一個拓撲,其中前端網頁伺服器也是應用程式伺服器,在此情況下,仍會用它來處理轉換。如果驅動 Word Automation Services 的解決方案只是偶爾建立少量的大型工作,則這樣的拓撲很理想。

專用 Word Automation Services 伺服器陣列通常應該會使用下列設定:

PDF 和 XPS 輸出格式

  • 「使用中轉換程序總計」設為下列的較低值:n-1,其中 n 是每部伺服器中的可用處理核心數量,或是 4

    • 範例:當伺服器陣列應用程式伺服器有兩個四核心 CPU,此設定就是 4,因為 4 是低於 n-1 (這是 7) 的值。

      注意

      如表 3 所示,當服務將文件轉換成固定輸出格式 (例如 PDF) 時,服務的效能限制會大幅限制 PDF 及 XPS 的個別伺服器向上擴充潛力。輸出至 PDF 或 XPS 時,四核心通常是將應用程式伺服器上的輸送量最大化的最佳「使用中轉換程序總計」設定。增加此設定的值實際上會降低 PDF 及 XPS 的輸送量。

  • 將啟動轉換的頻率 (分鐘) 設為 1 分鐘。

  • 將要啟動的轉換數目 (每個轉換程序) 設為 30。

    注意

    此值可以為伺服器陣列中的每個使用中轉換程序啟用最大 RPS (每秒高達 0.5 個轉換)。如表 3 及 4 所示,這是合理的 RPS 目標,因此針對 PDF 及 XPS 輸出格式,可達到伺服器陣列的最大可能輸送量。

.docx 檔, .doc 檔及其他輸出格式

  • 「使用中轉換程序總計」設為 n-1,其中 n 是每部伺服器中的可用處理核心數量

    • 範例:如果伺服器陣列應用程式伺服器有兩個四核心 CPU,則此設定為 7。

    • 注意:建議您絕不要將「使用中轉換程序總計」設為大於 n-1 的任何值。使用較大的值時,可能會開始出現一些可靠性及回應力的問題。

  • 將啟動轉換的頻率 (分鐘) 設為 1 分鐘。

  • 將要啟動的轉換數目 (每個轉換程序) 設為 72。

    注意

    此值可以為伺服器陣列中的每個使用中轉換程序啟用最大 RPS (每秒高達 1.2 個轉換)。如表 4 所示,這是合理的 RPS 目標,這樣一來,針對非 PDF 及 XPS 輸出格式,就一律會達到伺服器陣列的最大可能輸送量。

節流拓撲:含有共用應用程式伺服器的實際執行 SharePoint 伺服器陣列

由於使用中轉換程序一次最多使用一個處理核心,所以您可以將「使用中轉換程序總計」設定設為比每部應用程式伺服器的可用處理核心總數小非常多,以將 Word Automation Services 節流處理。此拓撲中的節流應用程式伺服器 (如下列圖表所示) 永遠都會有可用於其他工作或服務的處理核心,這樣通常有助於在 Word Automation Services 具有負載時,防止應用程式伺服器變成無回應。

圖表 6 – 具有執行 Word Automation Services 之共用應用程式伺服器的實際執行伺服器陣列拓撲範例

使用減慢節流之 WAS 的實際執行伺服器陣列

依預設,會將「使用中轉換程序總計」設定設為 1,以將 Word Automation Services 節流處理。對大部分 Word Automation Services 部署而言,這樣應該是過於保守,而下列設定應該用在一般節流拓撲上:

PDF 和 XPS 輸出格式

  • 「使用中轉換程序總計」設為下列的較低值:(n/2)-1,其中 n 是每部伺服器中的可用處理核心數量,或是 4。

    • 範例:當伺服器陣列應用程式伺服器有兩個四核心 CPU,此設定就是 3,因為 (8/2)-1 等於 3,而 3 小於 4。

    • 範例:當伺服器陣列應用程式伺服器有四個四核心 CPU,此設定就是 4,因為 4 小於 (16/2)-1 (等於 7)。

    注意

    透過保留一個處理核心不使用,即使在執行 Word Automation Services 計時器工作時,會暫時支配一個額外的處理核心,應用程式伺服器也可以比較容易預測。此原則適用於所有拓撲。這些設定基本上會將 Word Automation Services 的最大 CPU 使用率限制在 50%。若要進一步降低服務的最大 CPU 使用率,請將此設定的值降低為 (n/2)-2、(n/2)-3 等。

  • 將啟動轉換的頻率 (分鐘) 設為 1 分鐘。

  • 將要啟動的轉換數目 (每個轉換程序) 設為 30。

    注意

    此值可以為伺服器陣列中的每個使用中轉換程序啟用最大 RPS (每秒高達 0.5 個轉換)。如表 4 所示,這是合理的 RPS 目標,可確保達到適當的輸送量。

.docx 檔, .doc 檔及其他輸出格式

  • 「使用中轉換程序總計」設為 (n/2)-1,其中 n 是每部伺服器中的可用處理核心數量。

    • 範例:當伺服器陣列應用程式伺服器有兩個四核心 CPU,此設定為 3。

      注意

      透過保留一個處理核心不使用,即使在執行 Word Automation Services 計時器工作時,會暫時支配一個額外的處理核心,應用程式伺服器也可以比較容易預測。此原則適用於所有拓撲。這些設定基本上會將 Word Automation Services 的最大 CPU 使用率限制在 50%。若要進一步降低服務的最大 CPU 使用率,請將此設定的值降低為 (n/2)-2、(n/2)-3 等。

  • 將啟動轉換的頻率 (分鐘) 設為 1 分鐘。

  • 將要啟動的轉換數目 (每個轉換程序) 設為 60。

    注意

    此值有可能讓伺服器陣列中的每個使用中轉換程序達到最大 RPS (每秒高達 1.0 個轉換)。如表 4 所示,針對非 PDF 或 XPS 格式的輸出,這是合理的保守 RPS 目標。

    注意

    將此值設為 60 而不是 72,應用程式伺服器較有可能讓所有處理核心可用於每個時間單位的一小段時間 (數秒),如啟動轉換使用的「頻率」(分鐘) 所設定,在此案例中為 1 分鐘。依據伺服器陣列的需求,這會很有幫助。降低此設定也會將所有應用程式伺服器處理核心釋出更久,但是會增加輸送量成本。

混合拓撲:混合啟用 Word Automation Services 之應用程式伺服器與其他應用程式伺服器的實際執行 SharePoint 伺服器陣列

啟用 Word Automation Services 之應用程式伺服器與非啟用 Word Automation Services 之應用程式伺服器的混合拓撲,是達到高 Word Automation Services 輸送量,而不影響其他 SharePoint 服務效能的最佳方式。混合伺服器陣列的優點如下:

  • 使用專用 Word Automation Services 伺服器可增加輸送量。

  • 對於在非啟用 Word Automation Services 之應用程式伺服器上執行的其他服務,Word Automation Services 的影響極小。

使用混合伺服器陣列的缺點如下:

  • 與使用共用伺服器陣列或專用伺服器陣列相較,可能需要較多實體伺服器。

  • 所有 Word Automation Services 應用程式伺服器都會使用相同的設定。

混合伺服器陣列有兩個基本設定:

  • 非 Word Automation Services 應用程式伺服器與共用且啟用 Word Automation Services 的節流應用程式伺服器混合。

  • 非 Word Automation Services 應用程式伺服器與已設定為完全利用應用程式伺服器資源的專用 Word Automation Services 應用程式伺服器混合。

混合拓撲可能與下列圖表中顯示的拓撲相似。

圖表 7 – 具有專用於 Word Automation Services 之應用程式伺服器的實際執行伺服器陣列拓撲範例

使用混合拓撲的實際執行伺服器陣列

混合伺服器陣列中啟用 Word Automation Services 的伺服器設定方式,可以類似節流拓撲中的共用應用程式伺服器,或向上擴充拓撲中的專用應用程式伺服器,以達到與那些拓撲相同的輸送量。

預估輸送量目標

使用本節中的資訊來判斷具特定設定之給定拓撲的目標輸送量。

每部應用程式伺服器每分鐘的轉換輸送量

(使用中轉換程序總計 * 要啟動的轉換次數 (每個轉換程序)) / 啟動轉換的頻率 (分鐘)

附註:

  • 針對非 PDF 或非 XPS 輸出格式,上述方程式的結果 (如果轉換成每個使用中轉換程序每秒的轉換) 不應超過 1.2,針對 PDF 或 XPS 輸出格式,則不應超過 0.5。超過這些值會導致輸送量降低,轉換失敗增加。

  • 如果「啟動轉換的頻率 (分鐘)」增加 (也就是說,Word Automation Services 計時器工作執行的頻率變低),且伺服器陣列的總輸送量維持不變,則「要啟動的轉換次數 (每個轉換程序)」應與「啟動轉換的頻率 (分鐘)」成正比增加。

    例如,SharePoint 管理員想要讓 Word Automation Services 計時器工作執行的頻率變低,但又想讓 Word Automation Services 的輸送量維持不變。下表中顯示的設定將會達成此目標。

    原始設定 新設定

    啟動轉換的頻率 (分鐘)

    1 分鐘

    10 分鐘

    每個轉換程序要啟動的轉換數目

    72

    720

    注意

    「使用中轉換程序總計」不應與「啟動轉換的頻率 (分鐘)」成比例變更。

整個伺服器陣列的每分鐘轉換輸送量

  • PDF 和 XPS 輸出格式:

    將每部應用程式伺服器每分鐘的轉換輸送量方程式的結果乘以啟用 Word Automation Services 的應用程式伺服器數目。最後的結果會與表 5 中的資料一致。

  • 其他輸出格式:

    將每部應用程式伺服器每分鐘的轉換輸送量方程式的結果乘以啟用 Word Automation Services 的應用程式伺服器數目。然後將該結果乘以 0.65。最後的結果將會反映表 5 中顯示的資料。

疑難排解

瓶頸或問題 原因 解決方式

輸送量在轉換成 PDF 或 XPS 時,並沒有隨著 3 或 4 個以上的使用中轉換程序而提升,即使有更多可用的處理核心也一樣。

Word Automation Services 受限於它在單一應用程式伺服器上將檔案轉換成 PDF 或 XPS 的速度能有多快。特別是,向上擴充至每部應用程式伺服器有 3 或 4 個以上使用中轉換程序,並無法增加 Word Automation Services 輸送量。為每部應用程式伺服器新增更多使用中轉換程序,實際上會在轉換成 PDF 或 XPS 格式時,降低服務效能。

如果轉換成 PDF 和 XPS 需要增加 Word Automation Services 的輸送量,即使每部應用程式伺服器的使用中轉換程序設在 3 或 4 也一樣,則新增額外的應用程式伺服器將會使輸送量增加將近 100% (在相同電腦規格下)。

此外,如果每部應用程式伺服器的使用中轉換程序數目設為大於 4,將此設定變更為 4 可能會小幅度增加輸送量。然而,將每部應用程式伺服器的使用中轉換程序設為 4 可大幅降低其他輸出格式的輸送量。

如果轉換成 PDF 或 XPS 是主要需求,則不要使用專用 Word Automation Services 應用程式伺服器會比較符合成本效益。可以改用共用伺服器,讓備用處理核心能夠供其他伺服器陣列服務使用。

變更 Word Automation Services 的設定之後,轉換項目失敗的頻率開始增加。

Word Automation Services 的設定很容易就設成讓服務超過其實效限制。這麼做的可能結果為:

  • 整體輸送量較少

  • 轉換項目更常失敗

請遵循下列簡單的規則來協助更正或防止上述任一徵狀:

絕不要將「使用中轉換程序總計」設為大於 n-1,其中 n 是應用程式伺服器的處理核心數。

針對所需的輸出格式,絕不要將「要啟動的轉換次數 (每個轉換程序)」設為大於<向上擴充的拓撲:專用 Word Automation Services 伺服器陣列>中所建議的數目,除非「啟動轉換的頻率 (分鐘)」也是用讓結果輸送量目標維持不變的方式來調整 (成正比)。

變更 Word Automation Services 的設定之後,其他服務較少回應。

使用中轉換程序有時候會完全利用應用程式伺服器上的處理核心。依據<向上擴充的拓撲:專用 Word Automation Services 伺服器陣列>中的建議來設定的應用程式伺服器,可以在轉換期間利用大部分的 CPU 資源,因為 Word Automation Services 計時器工作也會定期在自己的核心上執行。

如果其他服務 (例如 Excel Web Services 或 Microsoft Office Web Apps) 需要這類應用程式伺服器的 CPU 資源,可能會無法接受所需等待的時間,而導致那些其他服務的認知延遲。

請遵循下列步驟來降低 Word Automation Services 對其他服務的影響:

  1. 將 Word Automation Services 的「使用中轉換程序總計」節流處理為<節流拓撲:含有共用應用程式伺服器的實際執行 SharePoint 伺服器陣列>中的建議層級。

  2. 新增 Word Automation Services 不使用,但可用於其他服務的應用程式伺服器,採用類似<混合拓撲:混合啟用 Word Automation Services 之應用程式伺服器與其他應用程式伺服器的實際執行 SharePoint 伺服器陣列>中所說明的拓撲。

當伺服器陣列忙碌、離線或進行維護不到一天或以上,有時候轉換項目會失敗,並出現錯誤碼 3。

Word Automation Services 通常會要求將新增至 Word Automation Services 佇列資料庫的轉換工作,於提交後的 24 小時內完全處理。如果轉換工作的轉換項目沒有在 24 小時內完成,轉換項目就會失敗,並出現錯誤碼 3。錯誤訊息如下:

「無法從輸入文件庫下載檔案,因為所提供的使用者權限過期,無法擷取檔案。這可能代表系統的負載量很大。請嘗試重新提交工作,如果再次出現錯誤,請與系統管理員連絡。」

如果使用者還是一直看到這個錯誤,而且伺服器陣列並沒有離線很長的時間,則有些轉換工作可能會花費 24 小時以上的時間來完成,可能是因為伺服器陣列設定錯誤,或是其使用量遠超過其容量。這種情況表示您應增加伺服器陣列的容量。這需要增加「使用中轉換程序總計」(最多 n-1,其中 n 是每部應用程式伺服器的處理核心數),或者如果您無法這麼做,則新增更多 Word Automation Services 可使用的應用程式伺服器至伺服器陣列。後者可能只需要在本來就有多餘容量的應用程式伺服器上啟用 Word Automation Services,否則可能需要新增更多實體伺服器至伺服器陣列。

如果您要增加伺服器陣列的容量,請確定 Word Automation Services 的設定正確,如<向上擴充的拓撲:專用 Word Automation Services 伺服器陣列>或<節流拓撲:含有共用應用程式伺服器的實際執行 SharePoint 伺服器陣列>所描述。

Word Automation Services 解決方案的執行時間會漸漸地愈來愈長,以當作服務執行。

下列 Word Automation Services 物件模型方法的執行次數會因 Word Automation Services 資料庫中的項目數而調整:

  • ConversionJob.GetAllActiveJobs

  • ConversionJob.GetAllJobs

一般而言,我們建議 Word Automation Services 資料庫不要成長到大於 2 百萬個轉換項目的大小。從資料庫刪除一些轉換項目,以解決此問題。

Word Automation Services 的輸送量效能並沒有因為向外擴充應用程式伺服器的數目而繼續提升。

如果新增更多應用程式伺服器至伺服器陣列無法再提升輸送量,這可能表示 Word Automation Services 資料庫所在的 SQL Server 執行個體已到達容量。

每個 WAS 動作的 Word Automation Services SQL Server 影響如下:

 

Word Automation Services 動作 每次呼叫的 RT 每個項目的額外 RT 附註

ConversionJob.AddFile

11

0

低 SQL Server IOps

ConversionJob.AddFolder

9

2

儘管相對於 AddLibrary,SQL Server RT 有所增加,此 OM 呼叫的執行速度通常還是會比 AddLibrary 快。

低 SQL Server IOps

ConversionJob.AddLibrary

4

2

低 SQL Server IOps

ConversionJob.Start

3

0

低 SQL Server IOps

ConversionJob.Refresh

1

0

低 SQL Server IOps

ConversionJob.CancelJob

1

0

低 SQL Server IOps

ConversionJob.GetAllActiveJobs

1

0

SQL Server IOps 向上擴充 Word Automation Services DB 中的工作數。

ConversionJob.GetAllJobs

1

0

SQL Server IOps 向上擴充 Word Automation Services DB 中的工作數。

ConversionJob.GetItems

2

0

低 SQL Server IOps

每次 Timerjob 執行

2

1

低 SQL Server IOps

有些呼叫在每個動作的 SQL Server 來回行程以及每個動作的其他 SQL Server 來回行程中會有持續性的額外負荷,視所需的轉換項目數而定。

此資訊對於計劃為 Word Automation Services 部署建立自訂解決方案的開發人員,以及必須針對使用 Word Automation Services 的 SQL Server 影響來進行規劃的伺服器陣列管理員,都很有幫助。

如果 Word Automation Services SQL Server 資料庫所在的伺服器,與使用 Word Automation Services SQL Server 資料庫之其他使用中資料庫所在的伺服器相同,則它自己的實體伺服器應移除 SQL Server,因為這對大部分伺服器陣列而言會是瓶頸。

將伺服器陣列向外擴充之後,計時器工作似乎沒有在其下一個排程的執行之前完成。

Word Automation Services 的計時器工作執行時間會與伺服器陣列中啟用 Word Automation Services 的應用程式伺服器數目成直線比例。計時器工作可能需要一分鐘以上的時間,才能完成其執行。

如果發生這種情形,不需要任何動作。如果上一個執行仍在進行中,SharePoint Server 就不會開始排程的計時器工作執行。