監視及維護 SharePoint Server 2010

 

適用版本: SharePoint Server 2010

上次修改主題的時間: 2015-03-09

本文提供監視與 Microsoft SharePoint Server 2010 伺服器陣列的效能計數器之詳細資訊。若要維護 SharePoint Server 2010 的系統效能,您必須監視伺服器並識別潛在的瓶頸以維護系統效能。在能有效監視前,您必須了解主要的指標,才能看出哪部分的伺服器陣列需要特別注意,並清楚如何解讀這些指標。若您發現伺服器陣列的作業沒有達到定義的目標,可以新增或移除硬體資源、修改拓撲或變更資料儲存方式,來調整伺服器陣列。

本節的內容旨在協助管理員手動設定效能計數器與其他設定。如需使用 SharePoint 管理中心介面內建之狀況監視工具,來監視狀況與疑難排解的詳細資訊,請閱讀下列文章:

閱讀本文之前,您應該先閱讀<SharePoint Server 2010 的容量管理與縮放概觀>。

本文內容:

  • 設定監視

  • 移除瓶頸

設定監視

下列是一份設定清單,其中包括您能在早期階段中修改以監視環境的設定,且可協助您判斷是否需要進行任何變更。請謹記,增加監視功能會對您使用狀況資料庫所需的磁碟空間量造成影響。一旦環境穩定而不再需要詳細監視時,您可能會想要將下列設定回復為預設值。

設定 附註

防止事件記錄檔濫記

停用

預設值為啟用。亦可停用,以收集儘可能多的監視資訊。若為正常運作,就應該啟用。

計時器工作排程

   

Microsoft SharePoint Foundation 流量資料匯入

5 分鐘

預設值為 30 分鐘。降低此設定會更頻繁地將資料匯入使用狀況資料庫,這麼做對疑難排解特別有用。若為正常運作,應是 30 分鐘。

診斷提供者

   

啟用所有診斷提供者

啟用

預設值為停用,除了「搜尋狀況監視 - 追蹤事件」提供者以外。這些提供者會收集各種功能與元件的狀況資訊。若為正常運作,您可能會想要回復為預設值。

設定 "job-diagnostics-performance-counter-wfe-provider" 及 "job-diagnostics-performance-counter-sql-provider" 排程間隔時間

1 分鐘

預設值為 5 分鐘。降低此設定能更頻繁地輪詢資料,對於疑難排解尤其有用。若為正常運作,應是 5 分鐘。

其他

   

啟用內容要求的堆疊追蹤

啟用

預設值為停用。啟用此設定能容許使用程序堆疊追蹤,來做內容要求失敗的診斷。 若為正常運作,就應該停用。

啟用開發人員儀表板

啟用

預設值為停用。啟用此設定能容許使用開發人員儀表板,來做慢速頁面或其他問題的診斷。若為正常運作或不再需要疑難排解時,就應該停用。

使用狀況資料收集

   

內容匯入使用狀況

內容匯出使用狀況

頁面要求

功能使用

搜尋查詢使用量

網站庫存使用狀況

計時器工作

分級使用量

啟用

啟用這組計數器的記錄可讓您收集更多環境使用狀況資料,並更了解環境的流量模式。

效能計數器

若您有使用使用狀況資料庫,您就應該新增效能計數器,以協助監視並評估伺服器陣列對使用狀況資料庫的效能,這些資訊會在特定間隔時間 (預設為 30 分鐘) 自動記錄。即便如此,您仍可查詢使用狀況資料庫以擷取這些計數器,並獲取一段時間內的結果。以下是使用 Add-SPDiagnosticsPerformanceCounter PowerShell Cmdlet,以將 % Processor Time 計數器新增至使用狀況資料庫的範例。此步驟僅需要在一部網頁伺服器上執行即可:

Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd

對任何伺服器系統來說,您應該監視數種一般效能計數器。下表摘要說明這些效能計數器。

效能計數器 描述

處理器

您應該監視處理器效能以確保所有處理器使用量沒有持續在高點 (超過 80 %),(因為這樣系統將無法處理突然產生的活動),若能如此,則在一般情況下,一個元件的故障應不會導致其他元件也發生故障這樣的骨牌效應。例如 – 若您有三個網頁伺服器,您應確定所有伺服器間的平均 CPU 都在 60% 以下,這樣若有一部故障,其他兩部還有空間能接受額外負載。

網路介面

監視透過網路介面卡傳送與接收資料的比例,這應該維持低於網路容量的 50%。

磁碟及快取

您應定期監視數種邏輯磁碟選項。可用磁碟空間對任何容量研究都非常關鍵,但您亦應檢閱磁碟閒置的時間。您可依據在伺服器上執行之不同種類的應用程式或服務,來檢閱磁碟讀寫時間。讀寫功能的延伸佇列也會影響效能。而快取是影響讀寫作業的主要因素,因此您必須仔細監視是否有增加的快取錯誤。

記憶體及分頁檔案

請監視可供配置的實體記憶體容量。記憶體不足會導致分頁檔案使用過度,而造成每秒頁面錯誤的數量增加。

系統計數器

下表提供系統物件和計數器的資訊。您可使用網頁伺服器上的 SPDiagnosticPerformanceCounter,將這些物件和計數器新增至使用狀況資料庫的監視計數器組中。

物件和計數器 描述

處理器

 

% Processor Time

這會顯示在一段期間內處理器的使用量。若此數值持續過高,可能會對效能產生不良影響。請記得將多處理器系統的總數計算進來。您亦可測量每一個處理器的使用率,以確保核心間的平衡效能。

磁碟

 

- Avg. Disk Queue Length

會顯示所選磁碟在取樣間隔期間,所佇列的讀寫要求平均數。只要磁碟讀寫狀況良好,且系統運作穩定不會延展佇列,則磁碟佇列較長也不一定會產生問題。

Avg. Disk Read Queue Length

佇列的讀取要求之平均數。

Avg. Disk Write Queue Length

佇列的寫入要求之平均數。

磁碟讀取次數/每秒

磁碟每秒的讀取數。

磁碟寫入次數/每秒

磁碟每秒的寫入數。

記憶體

 

- Available Mbytes

會顯示可供配置的實體記憶體容量。記憶體不足會導致分頁檔案使用過度,而造成每秒頁面錯誤的數量增加。

- Cache Faults/sec

此計數器會顯示在找不到檔案系統快取搜尋之頁面時,而出現的錯誤比例。當頁面在記憶體中找到時,是屬於軟體分頁錯誤,而當頁面在磁碟上找到時,就是硬體分頁錯誤。

有效利用讀寫作業的快取對伺服器效能有大幅影響。若 Async Fast Reads/secRead Aheads/sec 減少,表示快取錯誤增加,您應仔細監視這種情況。

- Pages/sec

此計數器會顯示解決指定硬體分頁錯誤的磁碟讀寫頁面速率。若此速率升高,表示全系統有效能問題。

分頁檔

 

- % Used 和 % Used Peak

伺服器分頁檔 (paging file 或 swap file) 在磁碟上保留「虛擬」記憶體位址。若處理序必須在將所需「虛擬」資源從磁碟擷取到記憶體時停止並等候,即會發生分頁錯誤。若實體記憶體不足,這些情況會更常發生。

NIC

 

- Total Bytes/sec

這是透過網路介面卡來傳送與接收資料的比例。若此比例超過 40-50% 網路容量,您可能需要進一步檢查。若要微調調查,請監視 Bytes received/secBytes Sent/sec

處理序

 

- Working Set

此計數器表示特定處理序的工作集目前大小 (以位元組為單位)。即使未使用,仍會為處理序保留記憶體。

- % Processor Time

此計數器會顯示特定處理序所使用的處理器時間百分比。

Thread Count (_Total)

執行緒的目前數目。

ASP.NET

 

要求總數

從服務開始時的要求總數。

佇列中的要求數

Microsoft SharePoint Foundation 2010 提供可透過 HTTP,於使用者瀏覽器中轉譯的 HTML 頁面之建置組塊。此計數器會顯示等待處理的要求數目。

要求等候時間

在待處理佇列中之最新要求所等待的毫秒數。若等待事件的數量增加,這對使用者體驗到的頁面轉譯效能上會有不良影響。

遭拒絕的要求數

因伺服器資源不足以處理而未受執行之要求總數。此計數器代表會傳回 503 HTTP 狀態碼 (指出伺服器過於忙碌) 的要求數目。

Requests Executing (_Total)

目前執行的要求總數。

Requests/Sec (_Total)

每秒執行的要求總數。這代表目前應用程式的輸送量。在持續負載中,除了其他伺服器工作以外 (如記憶體回收、快取清除執行緒、外部伺服器工具等),此數目應維持在特定範圍內。

.NET CLR Memory

 

# Gen 0 Collections

會顯示 0 代物件 (亦即最年輕、最新配置的物件) 在應用程式啟動後被記憶體回收的次數。此數目在比數 #Gen 0: #Gen 1: #Gen 2 之間很有用,可確保 2 代集合數量不會大幅超過 0 代集合,最好是各佔半數。

# Gen 1 Collections

會顯示 1 代物件在應用程式啟動後被記憶體回收的次數。

# Gen 2 Collections

會顯示 2 代物件在應用程式啟動後被記憶體回收的次數。此計數器會在 2 代記憶體回收 (亦稱做完整記憶體回收) 最後來累加。

% Time in GC

會顯示從最後一次記憶體回收週期開始,執行記憶體回收所花費的經過時間百分比。此計數器通常會指出由記憶體回收行程所完成的工作,以代替應用程式來收集並精簡記憶體。此計數器僅會在每一次記憶體回收最後更新。此計數器的值不是平均值;其值是反應最後觀察到的值。在正常運作中,此計數器應在 5% 以下。

SQL Server 計數器

下表提供 SQL Server 物件和計數器的資訊。

物件和計數器 描述

General Statistics

此物件所提供的計數器可監視全伺服器的一般活動,例如目前連線數目,及每秒從執行 SQL Server 執行個體之電腦上連線及中斷連線的使用者人數。

User Connections

這個計數器會顯示執行 SQL Server 之電腦上的執行個體數目。如果您看到此數字比您的基準值高出 500%,就會感受到效能降低。

資料庫

此物件提供的計數器可監視大量複製作業、備份及還原輸送量,以及交易記錄活動。請監視交易及交易記錄檔,以判斷資料庫中發生多少使用者活動,及交易記錄檔的完整程度。使用者活動量不僅可用來判斷資料庫效能,也會影響記錄檔大小、鎖定及複寫。監視低層級記錄活動以評量使用者活動及資源用量,將可協助您找出效能瓶頸。

Transactions/sec

此計數器會顯示特定資料庫或整個 SQL Server 執行個體上每秒的交易量。此數據可協助您建立基準線並疑難排解問題。

鎖定

此物件可提供個別資源類型上的 SQL Server 鎖定資訊。

Number of Deadlocks/sec

此計數器會顯示執行 SQL Server 之電腦上的每秒死結數目。此值不應超過 0。

Average Wait Time (ms)

此計數器會顯示因為等待所造成之鎖定要求的平均等待時間。

Lock Wait Time (ms)

此計數器會顯示最後一秒之鎖定的總等待時間。

Lock Waits/sec

此計數器會顯示因為無法立即滿足而必須等待資源的每秒鎖定數目。

Latches

此物件提供的計數器可監視內部 SQL Server 資源鎖定 (稱為閂鎖)。監視閂鎖數目來判斷使用者活動及資源用量,可協助您找出效能瓶頸。

Average Latch Wait Time (ms)

此計數器會顯示必須等待之閂鎖請求的平均閂鎖等待時間。

Latch Waits/sec

此計數器會顯示無法立即被授與的閂鎖請求數目。

SQL Statistics

此物件提供的計數器可監視編譯作業及送至 SQL Server 執行個體的請求類型。監視查詢編譯及重新編譯作業的次數,及 SQL Server 執行個體收到的批次數目,可讓您了解 SQL Server 目前處理使用者查詢的速度,以及查詢最佳化工具處理查詢的效率。

SQL Compilations/sec

此計數器表示每秒進入編譯程式碼路徑的次數。

SQL Re-Compilations/sec

此計數器表示每秒觸發陳述式重新編譯的次數。

Plan Cache

此物件提供的計數器可監視 SQL Server 使用記憶體以儲存物件 (例如預存程序、特定與備妥 Transact-SQL 陳述式,以及觸發程序) 的情形。

Cache Hit Ratio

此計數器表示在計畫中快取叫用與查閱之間的比例。

Buffer Cache

此物件提供可監視 SQL Server 使用記憶體以儲存資料頁、內部資料結構及程序快取情形的計數器,也提供可在 SQL Server 讀寫資料庫頁面時監視實體 I/O 的計數器。

Buffer Cache Hit Ratio

此計數器會顯示從緩衝區快取中找到頁面而不必從磁碟讀取的百分比。此比例是以快取叫用總數除以 SQL Server 執行個體啟動時的快取查閱總數。

移除瓶頸

系統瓶頸代表當資源不足以提供使用者交易要求時的一種爭用情況。這可能是實體硬體、作業環境或應用程式端的問題。通常,導致瓶頸的原因是自訂程式碼或協力廠商解決方案效率不佳,而從這邊開始檢閱可能會比新增硬體獲得更好的結果。另一個造成瓶頸的常見原因是伺服器陣列的設定不當,或效率不佳的解決方案實作,其中資料的結構方式會導致資源浪費。對系統管理員來說,持續監視效能以管理瓶頸是很重要的。當識別出效能問題時,您必須評估移除瓶頸的最佳解決方式。效能計數器與其他效能監視應用程式 (如 System Center Operations Manager (SCOM)) 都是追蹤及分析問題的主要工具,您可依此來開發解決方案。

實體瓶頸解決方式

實體瓶頸是由於處理器、磁碟、記憶體及網路爭用導致,也就是指過多的要求在爭奪過少的資源。<監視效能>主題中說明的物件和計數器會指出效能問題所在,例如,硬體處理器或 ASP.NET。要解決瓶頸,您需要先識別出問題,然後再做出變更以減輕效能問題。

問題很少會突然發生,因為效能通常是逐漸降低,而您若按時使用效能監視工具或更高階的系統 (如 SCOM) 來監視,一般都能追蹤到。針對這兩種選項與不同程度,您可將警示以通知文字形式或編寫的指令碼命令內嵌至解決方案。

若您判定問題不是起因於設置不當,或效率不佳的自訂程式碼、協力廠商解決方案或是解決方案實作,您可能需要變更硬體或系統設定解決瓶頸問題。下表指出問題閾值及可能的解決方式選項。部分選項會建議硬體升級或修改。

物件和計數器 問題 解決方式選項

處理器

Processor - % Processor Time

超過 75-85%

升級處理器

增加處理器數目

新增額外的伺服器

磁碟

   

Avg. Disk Queue Length

逐漸增加,系統不穩定且佇列增加

增加磁碟的數量或速度

變更陣列設定以減少量

將部分資料移至替代伺服器

% Idle Time

大於 90%

增加磁碟數量

將資料移至替代磁碟或伺服器

% Free Space

小於 30%

增加磁碟數量

將資料移至替代磁碟或伺服器

記憶體

   

Available Mbytes

網頁伺服器小於 2GB。

新增記憶體

注意

SQL Server 的可用記憶體在設計上就比較低,因此不一定表示有問題。

Cache Faults/sec

大於 1

新增記憶體

若可能的話,可增加快取速度或大小

將資料移至替代磁碟或伺服器

Pages/sec

大於 10

新增記憶體

分頁檔

   

% Used 和 % Used Peak

伺服器分頁檔 (paging file 或 swap file) 在磁碟上保留「虛擬」記憶體位址。若處理序必須在將所需「虛擬」資源從磁碟擷取到記憶體時停止並等候,即會發生分頁錯誤。若實體記憶體不足,這些情況會更常發生。

新增記憶體

NIC

   

Total Bytes/sec

超過 40-50% 的網路容量。這是透過網路介面卡來傳送與接收資料的比例。

透過監視 Bytes received/sec 和 Bytes Sent/sec 來進一步調查。

重新評估網路介面卡的速度

檢查記憶體緩衝區的數量、大小與使用量

處理序

   

工作集

超過總記憶體的 80%

新增記憶體

% Processor Time

超過 75-85%。

增加處理器數目

將工作量重新分配至其他伺服器

ASP.NET

   

應用程式集區回收

一天若干次會導致間歇性緩慢。

請確定您一整天中沒有實作不必要的自動回收應用程式集區之設定。

佇列中的要求數

佇列中有數百或數千的要求。

實作其他網頁伺服器

此計數器的預設上限是 5,000,但您可以在 Machine.config 檔案中變更此設定。

要求等候時間

若等待事件的數量增加,這對使用者體驗到的頁面轉譯效能上會有不良影響。

實作其他網頁伺服器

遭拒絕的要求數

大於 0

實作其他網頁伺服器

See Also

Concepts

SharePoint Server 2010 的容量管理與縮放概觀
SharePoint Server 2010 效能測試
SharePoint Server 2010 的容量規劃
狀況監視 (SharePoint Server 2010)
規劃及設定儲存空間及 SQL Server 容量 (SharePoint Server 2010)