監視和維護 SharePoint Server 2013

適用于:yes-img-132013 no-img-16 2016no-img-192019 no-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

本文討論 SharePoint Server 2013 伺服器陣列的監視和效能計數器。 若要維護 SharePoint Server 2013 系統效能,您必須監視伺服器以找出潛在的瓶頸。 您必須先瞭解關鍵指標,告訴您伺服器陣列的特定部分是否需要注意,並知道如何解譯這些指標,才能有效監視。 如果您發現伺服器陣列在您已定義的目標之外運作,您可以新增或移除硬體資源、變更拓撲,或變更資料的儲存方式來調整伺服器陣列。

本節中的資訊旨在協助系統管理員手動設定效能計數器和其他設定。 如需使用 SharePoint 管理中心網站介面內建的健康情況監視工具進行健康情況監視和疑難排解的詳細資訊,請閱讀下列文章:

閱讀本文之前,應先閱讀SharePoint Server 2013 的容量管理及調整大小概觀

設定監視

以下是您可以在早期階段變更來監視環境的設定清單,這可協助您判斷是否需要進行任何變更。 增加您的監視功能將會影響您的使用量資料庫需要多少磁碟空間。 一旦環境穩定且不再需要此詳細監視,您可能會想要將下列設定反轉為其預設設定。

設定 附註
事件記錄檔水流保護
已停用
預設值為 Enabled。 您可以停用它,以盡可能收集更多監視資料。 針對一般作業,應該啟用它。
計時器工作排程
Microsoft SharePoint Foundation 流量資料匯入
5 分鐘
預設值為 30 分鐘。 降低此設定會更頻繁地將資料匯入使用量資料庫,而且在疑難排解時特別有用。 針對一般作業,應該為 30 分鐘。
診斷提供者
啟用所有診斷提供者
Enabled
預設值為 Disabled ,但「搜尋健全狀況監視 - 追蹤事件」提供者除外。 這些提供者會收集各種功能和元件的健康情況資料。 針對一般作業,您可能會想要還原為預設值。
設定 「job-diagnostics-performance-counter-wfe-provider」 和 「job-diagnostics-performance-counter-sql-provider」 排程間隔
1 分鐘
預設值為 5 分鐘。 降低此設定可能會更頻繁地輪詢資料,而且在疑難排解時特別有用。 若為一般作業,則應為 5 分鐘。
其他工作
啟用內容要求的堆疊追蹤
Enabled
預設值為 Disabled。 啟用此設定可讓您使用進程堆疊追蹤來診斷內容要求失敗。 針對一般作業,應該停用它。
啟用開發人員儀表板
Enabled
預設值為 Disabled。 啟用此設定可讓您使用開發人員儀表板來診斷頁面緩慢或其他問題。 針對一般作業,且不再需要進行疑難排解時,應該停用。
使用量資料收集
內容匯入使用方式
內容匯出使用方式
頁面要求
功能使用
搜尋查詢使用
網站清查使用量
計時器工作
評等使用量
Enabled
啟用這組計數器的記錄功能,可讓您跨環境收集更多使用量資料,並進一步瞭解環境中的流量模式。

效能計數器

如果您使用使用量資料庫,則可以新增效能計數器,以協助您監視和評估伺服器陣列對使用量資料庫的效能,如此一來,預設會在特定間隔 (自動記錄它們,) 30 分鐘。 有鑑於此,您可以查詢使用量資料庫來擷取這些計數器,並繪製一段時間的結果。 以下說明如何使用 Add-SPDiagnosticsPerformanceCounter PowerShell Cmdlet,將 % Processor Time 計數器新增至使用量資料庫。 這只需要在其中一部網頁伺服器上執行:

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

您應該針對任何伺服器系統監視數個泛型效能計數器。 下表概述這些效能計數器。

效能計數器 描述
處理器
您應該監視處理器效能,以確保所有處理器使用量不會保持一致的高 (超過 80%) ,因為這表示系統無法處理任何突然激增的活動。 而且在一般狀態中,如果一個元件失敗將讓其餘元件處於故障狀態,您將不會看到 domino 效果。 例如,如果您有三部網頁伺服器,您應該確定所有伺服器的平均 CPU 低於 60%,因此如果其中一部失敗,其他兩部伺服器仍有空間可承受額外的負載。
網路介面
監視透過網路介面卡傳送和接收資料的速率。 這應該會維持在網路容量的 50% 以下。
磁片和快取
您應該定期監視數個邏輯磁片選項。 可用的磁碟空間在任何容量研究中都很重要,但您也應該檢閱磁片閒置的時間。 視您在伺服器上執行的應用程式或服務類型而定,您可以檢閱磁片讀取和寫入時間。 寫入或讀取函式的擴充佇列會影響效能。 快取對讀取和寫入作業有重大影響。 您必須監視快取失敗增加的情況。
記憶體和分頁檔案
監視有多少實體記憶體可供配置。 記憶體不足會導致過度使用分頁檔,並增加每秒的分頁錯誤數目。

系統計數器

下表提供系統物件和計數器的相關資訊,您可以在網頁伺服器上使用 SPDiagnosticPerformanceCounter ,將這些物件和計數器新增至使用量資料庫中監視的計數器集合。

物件和計數器 描述
處理器
% Processor Time
這會顯示一段時間的處理器使用量。 如果持續太高,您可能會發現效能受到負面影響。 請記得在多處理器系統中計算「總計」。 您也可以測量每個處理器的使用率,以確保核心之間的效能平衡。
磁片
- 平均磁片佇列長度
這會顯示在取樣間隔期間已針對選取磁片排入佇列的讀取和寫入要求平均數目。 只要磁片讀取/寫入沒有問題,且系統在不擴充佇列的情況下以穩定狀態運作,磁片佇列長度就可能不成問題。
Avg. Disk Read Queue Length
排入佇列的讀取要求平均數目。
平均磁片寫入佇列長度
排入佇列的平均寫入要求數目。
Disk Reads/sec
每秒磁片的讀取數目。
Disk Writes/sec
每秒寫入磁片的數目。
記憶體
- 可用的 Mbytes
這會顯示有多少實體記憶體可供配置。 記憶體不足會導致過度使用分頁檔,並增加每秒的分頁錯誤數目。
- Cache Faults/sec
此計數器會顯示在檔案系統快取中尋找頁面且找不到時發生錯誤的速率。 當頁面位於磁片上時,這可能是軟性錯誤、在記憶體中找到頁面時,或是硬性錯誤。
有效使用快取進行讀取和寫入作業,可能會對伺服器效能產生顯著的影響。 您必須監視快取失敗增加的情況,以 Async Fast Reads/secRead Aheads/sec的減少表示。
- Pages/sec
此計數器會顯示從磁片讀取或寫入頁面以解決硬頁錯誤的速率。 如果增加,則表示全系統的效能問題。
分頁檔案
- % Used 和 % Used Peak
伺服器分頁檔也稱為交換檔案,會在磁片上保留「虛擬」記憶體位址。 當進程必須在從磁片擷取到記憶體中所需的「虛擬」資源時停止並等候時,就會發生分頁錯誤。 如果實體記憶體不足,這些情況會更頻繁。
網卡
- Total Bytes/sec
這是透過網路介面卡傳送和接收資料的速率。 如果此速率超過 40-50% 的網路容量,您可能必須進一步調查。 若要微調您的調查,請監視 收到的位元組/秒Bytes Sent/sec
程序
- 工作集
此計數器表示目前大小 (以位元組為單位,) 指定進程的工作集。 即使未使用此記憶體,此記憶體仍會保留給進程。
- % Processor Time
此計數器會指出指定進程所使用的處理器時間百分比。
執行緒計數 (_Total)
目前的執行緒數目。
ASP.NET
要求總計
自服務啟動以來的要求總數。
要求已排入佇列
SharePoint Server 2013 提供透過 HTTP 在使用者瀏覽器中轉譯之 HTML 頁面的建置組塊。 此計數器會顯示等候處理的要求數目。
要求等候時間
最近要求在佇列中等候處理的毫秒數。 隨著等候事件的數目增加,使用者會遇到頁面轉譯效能降低的情況。
要求已拒絕
因為伺服器資源不足而無法處理要求,所以未執行的要求總數。 此計數器代表傳回 503 HTTP 狀態碼的要求數目,這表示伺服器太忙碌。
要求執行 (_Total)
目前正在執行的要求數目。
Requests/Sec (_Total)
每秒執行的要求數目。 這代表應用程式目前的輸送量。 在固定負載下,此數目應維持在特定範圍內,除非其他伺服器工作 (例如垃圾收集、快取清除執行緒、外部伺服器工具等) 。
.NET CLR 記憶體
# Gen 0 集合
顯示層代 0 物件 (的次數,也就是自應用程式啟動後,垃圾收集) 回收的最小、最近配置的物件。 此數位對於#Gen 0:#Gen 1:#Gen 2 的比率很有用,以確保 Gen 2 集合數目不會大幅超過 Gen 0 集合,最佳方式是乘以 2。
# Gen 1 集合
顯示自應用程式啟動後,垃圾收集回收層代 1 物件的次數。
# Gen 2 集合
顯示自應用程式啟動後,垃圾收集回收層代 2 物件的次數。 計數器會在第 2 代垃圾收集結束時遞增, (也稱為完整垃圾收集) 。
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
此計數器會顯示因為無法立即滿足而必須等待資源的每秒鎖定數目。
鎖 存
這個物件提供計數器來監視稱為閂鎖的內部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如何使用記憶體來儲存資料頁、內部資料結構,以及程式快取和計數器,以監視實體 I/O,SQL Server讀取和寫入資料庫頁面。
Buffer Cache Hit Ratio
此計數器會顯示從緩衝區快取中找到頁面而不必從磁碟讀取的百分比。 比率是啟動SQL Server實例之後,快取叫用總數除以快取查閱總數。

移除瓶頸

系統瓶頸代表資源不足而無法服務使用者交易要求的爭用點。 這些可能是實體硬體、操作環境或應用程式型。 瓶頸的原因通常是自訂程式碼或協力廠商解決方案效率不佳,而檢閱這些解決方案可能會產生比新增硬體更好的結果。 瓶頸的另一個常見原因是伺服器陣列設定錯誤,或是效率不佳的解決方案實作,其結構化資料的方式需要比所需更多的資源。 對於系統管理員,您應該透過持續監視效能來管理瓶頸。 當您識別效能問題時,您必須評估移除瓶頸的最佳解決方法。 效能計數器和其他效能監視應用程式,例如 SCOM,是追蹤和分析問題的重要工具,讓您可以開發解決方案。

實體瓶頸解決

實體瓶頸是以處理器、磁片、記憶體和網路爭用為基礎:太多要求爭用的實體資源太少。 監視效能主題中所述的物件和計數器會指出效能問題的所在位置,例如硬體處理器或 ASP.NET。 瓶頸解決需要您識別問題,然後進行變更或變更,以減輕效能問題。

問題很少會立即發生;使用效能監視工具或更複雜的系統,例如 SCOM,通常可以追蹤您是否定期監視的效能遞減。 針對這兩個選項,您可以在警示中以諮詢文字或指令碼命令的形式,以不同程度地內嵌解決方案。

您可能必須藉由對硬體或系統組態進行變更來解決瓶頸問題,一旦您判斷它們不是由設定錯誤、自訂程式碼或協力廠商解決方案效率不佳,或是解決方案實作效率不佳所造成。 下表會識別問題臨界值和可能的解決選項。 有些選項建議硬體升級或修改。

物件和計數器 問題 解決選項
處理器
處理器 - % 處理器時間
超過 75-85%
升級處理器
增加處理器數目
新增其他伺服器 (的)
磁片
Avg. Disk Queue Length
逐漸增加,系統未處於穩定狀態且佇列正在備份
增加磁片的數目或速度
將陣列組態變更為等量
將部分資料移至替代伺服器
% Idle Time
小於 90%
增加磁片數目
將資料移至替代磁片或伺服器
% 可用空間
小於 30%
增加磁片數目
將資料移至替代磁片或伺服器
記憶體
Available Mbytes
在 Web 服務器上小於 2GB。
新增記憶體。
>[!注意] > SQL Server可用記憶體在設計上會很低,而且不一定表示有問題。
Cache Faults/sec
大於 1
新增記憶體
盡可能增加快取速度或大小
將資料移至替代磁片或伺服器
Pages/sec
大於 10
新增記憶體
分頁檔案
% Used 和 % Used Peak
伺服器分頁檔案有時稱為交換檔案,會在磁片上保留「虛擬」記憶體位址。 當進程必須在從磁片擷取到記憶體中所需的「虛擬」資源時停止並等候時,就會發生分頁錯誤。 如果實體記憶體不足,這些情況會更頻繁。
新增記憶體
網卡
Total Bytes/sec
超過 40-50% 的網路容量。 這是透過網路介面卡傳送和接收資料的速率。
藉由監視 Bytes received/sec 和 Bytes Sent/sec 進一步調查。
重新評估網路介面卡速度
檢查記憶體緩衝區的編號、大小和使用量
程序
工作集
大於總記憶體的 80%
新增記憶體
% Processor Time
超過 75-85%。
增加處理器數目
將工作負載轉散發至其他伺服器
ASP.NET
應用程式集區回收
每天有數個,造成間歇性緩慢。
請確定您尚未實作全天不必要地自動回收應用程式集區的設定。
要求已排入佇列
有數百或數千個要求排入佇列。
實作其他網頁伺服器
此計數器的預設最大值為 5,000,您可以在Machine.config檔案中變更此設定
要求等候時間
隨著等候事件的數目增加,使用者將會遇到頁面轉譯效能降低的情況。
實作其他網頁伺服器
要求已拒絕
大於 0
實作其他網頁伺服器

另請參閱

概念

SharePoint Server 2013 的效能測試

SharePoint Server 2013 的容量規劃

其他資源

Capacity management and sizing overview for SharePoint Server 2013