監視和維護 SharePoint Server 2013
適用於:Subscription Edition SharePoint 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 計數器新增至使用量資料庫。 這只需要在其中一部 Web 伺服器上執行:
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/sec 或 Read 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 如何使用記憶體來儲存數據頁、內部數據結構,以及程式快取和計數器,以在 SQL Server 讀取和寫入資料庫頁面時監視實體 I/O。 |
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 |
實作其他網頁伺服器 |
另請參閱
概念
其他資源
Capacity management and sizing overview for SharePoint Server 2013