SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010)

 

適用版本: SharePoint Server 2010

上次修改主題的時間: 2011-07-29

Microsoft SharePoint Diagnostic Studio 2010 (SPDiag 版本 3.0) 的設計旨在簡化和標準化 Microsoft SharePoint 2010 產品的疑難排解工作,並提供所收集資料的統一檢視。SharePoint 2010 產品的管理員可使用 SPDiag 3.0 從伺服器陣列收集相關資訊,並以有意義的方式顯示結果、找出效能問題,進而匯出收集的資料和報告,讓 Microsoft 支援人員進行分析。

SharePoint 2010 產品平台非常複雜,且可用於多種用途。SharePoint 2010 產品的部署、管理及疑難排解工作,所需的知識廣泛涉及各類技術領域,包括安全性和網路,例如 ASPX 和 Microsoft SQL Server 等 Web 技術。

傳統上而言,對 SharePoint 2010 產品進行疑難排解需要從受影響伺服器陣列中的伺服器手動收集大量資料,然後手動分析資料,以判斷問題的根源。此程序可能既複雜又費時,資料收集本身就可能為伺服器帶來沈重負載。

SPDiag 提供單一的介面,以一系列預先設定的報告收集和呈現資料 (這些報告包含各種常用於診斷 SharePoint 效能和容量相關問題的資料點),因此大幅簡化問題解決的流程。雖然 SPDiag 可解決大部分的常見問題,但是某些 SharePoint 問題還是需要其他 SPDiag 未收集的資料加以分析。

本文內容:

  • SPDiag 3.0 的新功能

  • 安裝及設定 SPDiag 3.0

  • 使用 SPDiag 3.0

  • 已知問題

SPDiag 3.0 的新功能

SharePoint Diagnostic Studio 2010 (SPDiag 版本 3.0) 在原有基礎上做了多項重大更新,並推出新功能,提升疑難排解工具的有效性。SPDiag 3.0 是全新的版本,可能已經排除部分舊版的 SPDiag 功能。

以下是 SPDiag 3.0 的新功能和變更清單:

  • 預先設定的報告   SPDiag 提供各式預先設定的報告,可以彙總 SharePoint 伺服器陣列的資料,在一般的 SharePoint 疑難排解案例中呈現實用的觀點。如需詳細資訊,請參閱本文稍後的<使用預先設定的報告>。

  • 快照   您可以拍攝伺服器陣列的快照,從而彙總報告影像、伺服器陣列拓撲資訊、統一登入服務 (ULS) 記錄,以及使用狀況資料庫資料。如此,可以輕鬆合併 SharePoint 伺服器陣列的關鍵疑難排解資訊,並將這些資訊與其他使用者分享,或保留用於比較和趨勢分析。

  • 改良與 SharePoint Server 的整合   增強從更多來源收集資料的能力。

安裝及設定 SPDiag 3.0

SPDiag 是 Microsoft SharePoint 2010 Administration Toolkit v2 的組成部分。如果想下載這個工具套件,請參閱<SharePoint 2010 Administration Toolkit (SharePoint Server 2010)>。

您可以在陣列伺服器或者不屬於伺服器陣列的遠端電腦上安裝 SPDiag。您必須利用具備伺服器陣列管理員權限的使用者帳戶登入,才能建立新專案或使用現有的專案。

部分 SPDiag 3.0 診斷工作要求伺服器陣列帳戶已經在 SQL Server 執行個體 (SharePoint 2010 產品資料庫所在處) 上指派 sysadmin 或 sqladmin 角色。

如果想安裝 SPDiag 3.0,請從 SharePoint 2010 Administration Toolkit v2 元件安裝功能表選取 [SharePoint Diagnostic Studio]。然後,使用以下程序設定與 SPDiag 搭配使用的用戶端電腦和 SharePoint Server 伺服器陣列。

設定與 SPDiag 搭配使用的用戶端電腦和 SharePoint Server 伺服器陣列

  1. 在您安裝 SPDiag 的電腦上,安裝 .NET Framework 3.5。

  2. 視情況在所有陣列伺服器上安裝最新的 SharePoint Server 2010 Service Pack 或累計更新 (CU),以確保已經安裝最新的效能升級程式。特別是 2010 年 8 月 SharePoint Server 2010 CU,包含的使用狀況資料庫更新可以大幅改善特定 SPDiag 報告的效能。

  3. 在您安裝 SPDiag 的電腦上,安裝 Microsoft .NET Framework 3.5 的 Microsoft 圖表控制項。

  4. 如果您在遠端用戶端電腦上安裝 SPDiag,則必須在 SPDiag 連線的陣列伺服器上啟用 Windows PowerShell 遠端和遠端簽署執行原則。

    重要

    即使 SPDiag 安裝在陣列伺服器上,也必須在 SPDiag 連線的陣列伺服器上啟用遠端簽署執行原則。

    在目標伺服器的 Windows PowerShell 執行以下 Cmdlet,然後在提示時輸入 Yes:

    1. Enable-PSRemoting -force

    2. Enable-WSManCredSSP -role Server -force

    3. Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000

    4. Set-ExecutionPolicy RemoteSigned

  5. 如果您在遠端用戶端電腦上安裝 SPDiag,請在用戶端電腦上啟用 Windows PowerShell 遠端。在用戶端電腦上啟用 Windows PowerShell,執行以下 Cmdlet,然後在提示時輸入 Yes:

    1. Enable-PSRemoting -force

    2. Enable-WSManCredSSP -role Client -DelegateComputer “<target_computer>” -force

      注意

      <target_computer> 的值應該是您要連接之 SharePoint Server 網頁伺服器的主機名稱。

  6. 確定已經在目標伺服器陣列啟用 [Usage and Health Data Collection]。SPDiag 診斷提供者會從使用狀況資料庫收集資料。如果使用 SPDiag 之前,尚未佈建使用狀況資料庫,您會看到「Usage Database is not provisioned. Please provision it first.」(使用狀況資料庫尚未佈建,請先佈建。) 錯誤訊息。

如需使用狀況和健康情況資料收集的設定方法,請參閱<設定 Usage and Health Data Collection (SharePoint Server 2010)>。

使用 SPDiag 3.0

SPDiag 3.0 是一個診斷工具,其用途是收集、篩選以及顯示 SharePoint 伺服器陣列的資料,做為解決問題時的參考。SPDiag 是一個唯讀工具,無法對伺服器陣列進行任何變更。您可以使用 SPDiag 幫助您親自探索問題,或者用於收集支援人員所需的資料,協助解決伺服器陣列的問題。

本節提供的資訊可以幫助您瞭解如何建立和匯入專案、篩選和收集資料、產生圖表和報告,以及將資料匯出到檔案。

SPDiag 會從 ULS 記錄檔、Windows 事件記錄檔、效能計數器、SharePoint 記錄檔以及 SQL 資料庫收集和彙總資料,然後在各式預先設定的報告中顯示該資料,這些報告的設計目的就是要顯示特定的容量和效能特性以及趨勢。

本節內容:

  • 使用專案

  • SPDiag 使用者介面

  • 使用預先設定的報告

使用專案

SPDiag 專案包含從 SharePoint Server、Internet Information Services (IIS)、ULS 以及事件記錄檔所收集的資料,以及從陣列伺服器收集的效能計數器記錄檔資料。專案中繼資料儲存在本機電腦的 .ttfarm 檔案中。專案可以無限次儲存,而專案中的資料可以利用多種方式匯出,方便封存或與他人共用。

建立新專案

開始使用 SPDiag 解決伺服器陣列問題之前,您必須建立新的專案。建立專案時,會在安裝 SPDiag 的電腦上建立 .ttfarm 檔案,然後在伺服器陣列的使用狀況資料庫建立一些表格。

建立新專案

  1. 在 SPDiag 應用程式視窗中,按一下 [新增專案]。

  2. 在 [建立專案] 對話方塊中,輸入您想連線之伺服器的主機名稱,然後按一下 [建立專案]。

    提示

    在特定環境中,如果您不是使用目標伺服器的 FQDN,可能會無法連線。

  3. 在 [Windows PowerShell 認證要求] 視窗中,輸入使用者帳戶和密碼 (此帳戶必須具備目標 SharePoint Server 伺服器陣列的伺服器陣列管理員權限),然後按一下 [確定]。

  4. 新專案隨即建立,SPDiag 主視窗會顯示概觀視窗。

開啟專案

如果想開啟專案,您必須具備專案的 .ttfarm 檔案的使用權。如果 .ttfarm 檔案是在另一部執行 SPDiag 的電腦上建立,請參考本文前述的<安裝及設定 SPDiag 3.0>中的指導,確定您已經正確設定用來開啟專案的電腦。

另外,您必須利用伺服器陣列管理員認證登入帳戶,或在提示時輸入帳戶。

開啟專案

  1. 在 SPDiag 應用程式視窗中,按一下 [開啟專案]。

  2. 在 [開啟] 對話方塊中,瀏覽所需的 .ttfarm 檔案,選取後按一下 [開啟]。

SPDiag 使用者介面

SPDiag 應用程式分成四個主要部分:功能表列、[Guide] (導覽) 窗格、[Reports] (報告) 窗格以及 [Report Display] (報告顯示) 窗格,本節會逐一說明。

功能表列

功能表列顯示在應用程式視窗最上方。

功能表列

  • 新增專案   建立新的 SPDiag 專案。

  • 開啟專案   從 .ttfarm 檔案開啟現有的 SPDiag 專案。

  • 拍攝快照   建立伺服器陣列的快照,包含所有開啟之報表的 PNG 影像、一份包含伺服器陣列拓撲相關資訊的文字文件,以及快照過程的記錄檔。目前有兩種可用的快照:局部 (Light) 與完整 (Full)。

    • 局部快照   匯出目前開啟的報告以及伺服器陣列拓撲資訊

    • 完整快照   所有局部快照資料,以及指定時間範圍內來自 ULS 記錄檔和 SharePoint 使用狀況資料庫的資料。選取 [完整快照] 時,您可以使用 [開始時間] 和 [結束時間] 欄位,指定 ULS 記錄檔和使用狀況資料庫資料收集的時間範圍。

  • 搜尋   如果您正尋找某個特定的要求,而且您知道該要求的相互關聯識別碼或使用者帳戶,請按一下這個按鈕,開啟 [搜尋] 對話方塊。在 [搜尋] 對話方塊中,您可以輸入相互關聯識別碼、使用者帳戶以及該要求的預估日期和時間,從這個時間點開始搜尋。

  • 指派權限   您可以提供 SharePoint 伺服器陣列權限給特定的使用者帳戶或群組,授與 SPDiag 使用權。

[Guide] (導覽) 窗格

[導覽] 窗格顯示在應用程式視窗中間偏左的地方。它會顯示每一份報告的相關資訊,其中包括所顯示資料的描述、資料的操控以及篩選方法指示,以及報告可用時的特定疑難排解指導。部分報告包含如何識別問題的指導,並提供解決問題的建議。

[Reports] (報告) 窗格

[報告] 窗格顯示在應用程式視窗的左下角。

報表窗格

[報告] 窗格是可以展開的功能表,包含您可以檢視的所有報告。按一下每一個節點可以展開區段,並顯示內含的報告;按兩下報告可以在 [報告顯示] 窗格中開啟報告。

當您使用報告工具列上的 [儲存] 按鈕儲存報告時,它會顯示在 [報告] 窗格下方的 [自訂] 節點上。

如需詳細資訊以及可用報告的完整清單,請參閱本文稍後的<使用預先設定的報告>。

[Report Display] (報告顯示) 窗格

[報告顯示] 窗格包含應用程式視窗的主要部分。建立或開啟專案時,會顯示概觀報告。

報告顯示窗格

概觀報告中有兩個主要報告顯示成圖形:可用性 (Availability) 和延遲性百分位 (Latency Percentiles)。

  • 可用性報告   繪製 HTTP Web 服務的可用性。

  • 延遲性百分位報告   指出轉譯最快和最常見要求所花的時間。

使用 SPDiag 中的所有圖表時,您都可以使用滑鼠選取圖表上的區域,放大特定的時間範圍。在概觀報告中這樣做,會在 SPDiag 主視窗 (包含所選區域的結果) 的新索引標籤開啟選取的報告。

當您在 [報告] 窗格中按兩下報告以開啟報告時,SPDiag 會從陣列伺服器收集必要的資料,然後在主視窗的新索引標籤中顯示資料。這個畫面包含 3 個元件:報告工具列、篩選窗格、資料顯示窗格。

報告工具列

每一個開啟的報告索引標籤上方會顯示報告工具列。

報告工具列

這個工具列提供各種用來處理報告資料的工具,包含重新整理、儲存、匯出以及變更報告的顯示時間刻度。

  • 重新整理   要求重新整理陣列伺服器的資料。

  • 儲存   將目前的報告儲存為 SPR 副檔名的 XML 檔案。檔案儲存在 SPDiag 用戶端電腦的 C:\Users\Administrator\Documents\SharePoint Diagnostic Studio\Custom Reports 資料夾中。這些檔案可以用任何 XML 或文字編輯器開啟。

  • 小時   校準資料顯示為跨前一個小時。這個按鈕和另外三個時間校準按鈕會自動將範圍的結束時間設定成目前的時間。

  • 6 小時   校準資料顯示為跨前六個小時。

  • 12 小時   校準資料顯示為跨前 12 個小時。

  •    校準資料顯示為跨前 24 小時。

  • 開啟記錄   如果報告包含記錄檔的資料,您可以從篩選窗格選取記錄,然後按一下 [Open Log] (開啟記錄) 按鈕,顯示原始記錄檔的內容。

  • 匯出   將目前的報告匯出至 SPDiag 用戶端電腦的 C:\Users\Administrator\Documents\SharePoint Diagnostic Studio\Exported Reports\<日期及時間> 資料夾中的 PNG 影像檔。系統會以「年.月.日-時.分.秒」格式,依報告匯出的日期和 24 小時制,動態產生最終資料夾的名稱。例如,在 2011 年 3 月 31 日下午 6 點 11 分 22 秒匯出報告,會儲存至名稱為 2011.3.31-18.11.22 的資料夾中。

[Filter] (篩選) 窗格

篩選窗格提供報告特定的欄位,您可以用來篩選要顯示的報告資料以及日期和時間範圍。按一下欄位可以變更它的值以及更新報告資料。

篩選窗格

[Data Display] (資料顯示) 窗格

資料顯示窗格會為目前顯示的報告,呈現相關的圖形、圖表、表格以及記錄檔資料。

資料顯示窗格

有些報告的上半部窗格會有一個包含物件清單的表格,而下半部窗格顯示您從表格選取之物件的詳細資訊。例如,在計時器工作報告中,資料顯示窗格的上半部會顯示計時器工作清單。從清單中選取計時器工作後,會在窗格下半部顯示該工作的詳細 ULS 追蹤記錄資訊。

雙重顯示窗格

您也可以在欄位上按滑鼠右鍵,使用 QuickFilter 功能根據該值篩選報告。如果想更新報告,可以在欄位上按滑鼠右鍵,然後從 [QuickFilter] 功能表選取函數。

快速篩選功能表

  • =   依實際值篩選。

  • <>   依所選範圍內的所有值篩選。

  • >   依大於所選值的所有值篩選。

  • <   依小於所選值的所有值篩選。

當報告中特定記錄的資料指出發生問題,該記錄的開頭會顯示紅色圓圈以及一個驚嘆號。將滑鼠指標移至紅色圓圈上方,會顯示工具提示,裡面包含問題的相關資訊。

錯誤工具提示

當報告包含圖形顯示元素,例如圖表或圖形,您可以使用滑鼠放大特定的時間範圍,選取圖形的區域。如果想縮回原始時間範圍,請在圖形的任何地方按滑鼠右鍵。

注意

資料的收集會耗費很長的時間,特別是 SPDiag 用戶端電腦和陣列伺服器之間的網路明顯延遲,或者當伺服器陣列處於巨大負荷的時段。收集資料和轉譯報告開始之後,無法取消;而且在整個過程結束之前,SPDiag 不會有任何的回應。

使用預先設定的報告

SPDiag 提供各式的報告,用於呈現記錄檔、SharePoint 資料庫以及效能計數器的資料。這些報告會從 SharePoint 伺服器陣列收集資料,然後顯示彙總資料,將焦點放在伺服器陣列效能的特定層面。

您也可以從導覽視窗下方的 [報告] 窗格直接開啟報告,開始您的調查。以下段落說明這些報告。

基礎報告群組

基礎報告群組包含數個報告,顯示關鍵一般效能指標的相關資訊。

HTTP 要求

這份報告顯示伺服器陣列的所有 HTTP 要求。當您從頂層報告選取某一列之後,就會擷取該要求的詳細追蹤,然後顯示在下半部窗格中。

在任何儲存格按滑鼠右鍵,以您選取的欄名稱和值新增篩選。另一種方法是使用報告上方的篩選清單,即可篩選這些結果。使用 LIKE 運算子時,'%' 會視為萬用字元。

按一下任何欄標題,可以根據該欄進行排序。例如,如果想找出最慢的要求,可以按一下 [Duration] (持續時間) 欄。再按一下標題,可以反向排序結果。

當您自訂篩選清單之後,您可以儲存報告,這樣就不用重新產生報告。儲存的報告可以在螢幕左下方 [報告] 窗格的自訂節點中找到。下次載入報告的時候,就會還原儲存的排序和篩選,然後套用至新的資料。

如果要儲存目前的結果集,以便與他人共用或者在試算表中檢視,請按一下 [Export] (匯出) 按鈕。

Windows 事件

這份報告顯示伺服器陣列中所有電腦的 Windows 事件記錄中的重大事件及 SharePoint 相關事件。使用這份報告可尋找指定時間範圍內發生的重大問題。

在任何儲存格按滑鼠右鍵,以您選取的欄名稱和值新增篩選。另一種方法是使用報告上方的篩選清單,即可篩選這些結果。使用 LIKE 運算子時,'%' 會視為萬用字元。

按一下任何欄標題,可以根據該欄進行排序。

當您自訂篩選清單之後,您可以儲存報告,這樣就不用重新產生報告。儲存的報告可以在螢幕左下方 [報告] 窗格的自訂節點中找到。下次載入報告的時候,就會還原儲存的排序和篩選,然後套用至新的資料。

如果要儲存目前的結果集,以便與他人共用或者在試算表中檢視,請按一下 [Export] (匯出) 按鈕。

ULS 追蹤問題

這份報告顯示統一登入服務 (ULS) 追蹤記錄中偵測的問題。針對出現問題的時間進行高層次追蹤或許可以提供造成此原因的一些線索。當您從頂層報告選取某一列之後,就會擷取該要求或計時器工作的詳細追蹤,然後顯示在下半部窗格中。

在任何儲存格按滑鼠右鍵,以您選取的欄名稱和值新增篩選。另一種方法是使用報告上方的篩選清單,即可篩選這些結果。使用 LIKE 子句時,'%' 會視為萬用字元。

按一下任何欄標題,可以根據該欄進行排序。例如,如果想找出最慢的要求,可以按一下 [Duration] (持續時間) 欄。再按一下標題,可以反向排序結果。

當您自訂篩選清單之後,您可以儲存報告,這樣就不用重新產生報告。儲存的報告可以在螢幕左下方 [報告] 窗格的自訂節點中找到。下次載入報告的時候,就會還原儲存的排序和篩選,然後套用至新的資料。

如果要儲存目前的結果集,以便與他人共用或者在試算表中檢視,請按一下 [Export] (匯出) 按鈕。

計時器工作

這份報告顯示所有計時器工作執行。當您從頂層報告選取某一列之後,就會擷取計時器工作的詳細追蹤,然後顯示在下半部窗格中。

在任何儲存格按滑鼠右鍵,以您選取的欄名稱和值新增篩選。另一種方法是使用報告上方的篩選清單,即可篩選這些結果。使用 LIKE 子句時,'%' 會視為萬用字元。

按一下任何欄標題,可以根據該欄進行排序。例如,如果想找出最慢的工作,可以按一下 [Duration] (持續時間) 欄。再按一下標題,可以反向排序結果。

當您自訂篩選清單之後,您可以儲存報告,這樣就不用重新產生報告。儲存的報告可以在螢幕左下方 [報告] 窗格的自訂節點中找到。下次載入報告的時候,就會還原儲存的排序和篩選,然後套用至新的資料。

如果要儲存目前的結果集,以便與他人共用或者在試算表中檢視,請按一下 [Export] (匯出) 按鈕。

效能計數器

這份報告顯示在使用狀況資料庫中針對計數器收集一段時間的關鍵效能計數器資料。

使用自訂的篩選控制項,依據特定的類別、計數器、執行個體或機器進行篩選。選取感興趣的類別,以及其他三個將動態填入相關結果的篩選控制項 (計數器、執行個體、機器)。選取篩選之後,按一下 [Refresh] (重新整理) 重新產生報告。將指標放在圖表中的數列上,判斷哪個類別、計數器、執行個體或機器與這個值有關。

您可以使用 Add-SPDiagnosticsPerformanceCounter Windows PowerShell Cmdlet,將其他效能計數器新增至 SharePoint 伺服器陣列中的伺服器。您新增的任何計數器都會自動包含在 SharePoint Diagnostic Studio 資料集中。

容量報告群組

容量報告群組包含數個報告,分別顯示伺服器陣列容量指標相關資訊。

一段時間的 SQL Server 查詢 IO

這份報告顯示一段時間的高成本預存程序輸入/輸出 (I/O)。

頂層圖表會根據 SQL 動態管理檢視,顯示五個成本最高的查詢或預存程序。

下方的表格包含高成本查詢的詳細資訊,其中包括所選時段的總 I/O、每個呼叫的平均 I/O、執行計數以及 CPU 成本。

請注意任何高峰或高峰群組以及發生時間。這類高峰可能表示高成本的預存程序呼叫或錯誤的執行計劃。

尋找 [Execution Count] (執行計數) 以及 [Total IO] (總 I/O) 欄有高值而 [Average IO] (平均 I/O) 欄有低值的組合。這類查詢可能已經呼叫多次。

按一下 [Export] (匯出) 按鈕,將執行計劃儲存至檔案,這樣可以更容易查閱。

CPU

這份報告顯示一段時間內每部陣列伺服器上每個處理序的處理器使用狀況,以處理器總容量的百分比表示。用來填入此圖表的資料來自 | Processor | % Processor Time | _Total performance 計數器。

注意

只能取得目標伺服器陣列的 SPDiag 專案開啟日期和時間之後的效能計數器資料。

處理序記憶體 (MB)

這份報告顯示一段時間內每部陣列伺服器上可用的實體記憶體 (MB)。用來填入此圖表的資料來自 | Process | Private Bytes | <處理序名稱> 效能計數器。

效能報告群組

效能報告群組包含數個報告,顯示與延遲和 SQL Server 相關的特定伺服器陣列效能指示器資訊。

SQL 密集讀取追蹤

這份報告顯示讀取超過 50,000 個頁面 (1 個頁面 = 8 KB) 的 SQL Server 查詢。

讀取大量資料的查詢會造成 SQL Server 強制清除記憶體中的有用資料,使其他查詢執行高成本的實體讀取,因此回應速度緩慢。這會影響查詢資料位於同一個 SQL Server 的使用者作業的一般使用者延遲。

如果查詢文字中出現相互關聯識別碼,您可以利用它找出產生這個查詢的要求或計時器工作。將相互關聯識別碼複製到 HTTP 要求或計時器工作報告的篩選欄位中。

延遲層明細

這份報告顯示一段時間的伺服器端 HTTP 要求頁面延遲移動平均。用於轉譯要求的時間細分為三層,這是典型 HTTP 要求在處理期間通過的三個層。

  • SQL Server   如果 SQL Server 查詢使用的時間超過 250 分鐘,可使用 SQL 概觀報告找出 SQL Server 瓶頸。

  • 應用程式伺服器   如果服務呼叫時間超過 250 分鐘,您可以使用 HTTP 要求報告中的 [Service Call Duration] (服務呼叫持續時間) 欄,找出受到服務呼叫影響最大的查詢。

  • 網頁伺服器   如果 SQL Server 或應用程式伺服器層看起來沒有任何瓶頸,但網頁伺服器的要求超過 250 分鐘,請使用 HTTP 要求報告中的 [Duration] (持續時間) 欄,查看最慢的要求。您可以檢查「所有要求延遲」報告,查看問題是否出自某部電腦。最後,您可以檢查 CPU 報告,判斷一或多部網頁伺服器或應用程式伺服器是否出現處理器使用過量的狀況。

變更的物件

這份報告會根據變更記錄中的資訊,顯示一段特定時間已變更的所有物件類型。這個變更記錄是內容資料庫發生變更的歷程記錄。它提供搜尋編目程式以及其他功能,一種只查詢上次編目後發生之變更的方法。

資料點為每 k 分鐘 (k 預設為 5) 收集一次。這份報告以堆疊的長條圖顯示從所有內容資料庫彙總的資料。每一個堆疊代表不同的物件類型 (請參閱對應的圖例)。

您可以根據資料庫或物件類型篩選這些結果。例如,您可以自訂報告,讓它只顯示 contentdb1 資料庫上變更的物件 (假設這個資料庫在篩選下拉式清單中)。同樣地,您可以自訂報告,讓它只顯示物件類型為 List 的變更資料,從而瞭解所有清單層級的變更。

這個資料有助於全面瞭解在特定時段所發生的變更類型。您可以根據這個資料進一步檢查 HTTP 要求報告,判斷是哪些要求造成這些變更;也可以查閱「每個資料庫變更的物件」報告,利用不同的樞紐分析檢視相同的資料。此外,您可以查閱「變更類型」報告以及「每個資料庫的變更類型」報告,進一步分析對這些物件所做的變更類型。

如果想儲存目前的結果與他人分享,請按一下 [Export] (匯出) 按鈕。

每個資料庫變更的物件

這份報告會根據變更記錄中的資訊,顯示特定內容資料庫在一段特定時間的已變更所有物件類型。這個變更記錄是內容資料庫發生變更的歷程記錄。它提供搜尋編目程式以及其他功能,一種只查詢上次編目後發生之變更的方法。

資料點為每 k 分鐘 (k 預設為 5) 收集一次。這份報告以堆疊的長條圖顯示從所有內容資料庫彙總的資料。每一個堆疊代表不同的物件類型 (請參閱對應的圖例)。

您可以根據資料庫或物件類型篩選這些結果。例如,您可以自訂報告,讓它只顯示 contentdb1 資料庫上變更的物件 (假設這個資料庫在篩選下拉式清單中)。同樣地,您可以自訂報告,讓它只顯示物件類型為 'List' 的變更資料,從而瞭解所有清單層級的變更。

這個資料有助於全面瞭解在特定時段所發生的變更類型。您可以根據這個資料進一步查看 HTTP 要求報告,判斷是哪些要求造成這些變更;也可以查閱「變更的物件」報告,利用不同的樞紐分析檢視相同的資料。此外,您可以查閱「變更類型」報告以及「每個資料庫的變更類型」報告,進一步分析對這些物件所做的變更類型。

如果想儲存目前的結果與他人分享,請按一下 [Export] (匯出) 按鈕。

變更類型

這份報告會根據變更記錄中的資訊,顯示一段時間已變更的所有物件類型。這個變更記錄是內容資料庫發生變更的歷程記錄。它提供搜尋編目程式以及其他功能,一種只查詢上次編目後發生之變更的方法。

資料點為每 k 分鐘 (k 預設為 5) 收集一次。這份報告以堆疊的長條圖顯示從所有內容資料庫彙總的資料。每一個堆疊代表不同的物件類型 (請參閱對應的圖例)。

您可以根據資料庫或物件類型篩選這些結果。例如,您可以自訂報告,讓它只顯示 contentdb1 資料庫上變更的物件 (假設這個資料庫在篩選下拉式清單中)。同樣地,您可以自訂報告,讓它只顯示變更類型為 Rename 的變更資料,從而瞭解所有重新命名相關的變更。

這個資料有助於全面瞭解在特定時段所發生的變更類型。您可以根據這個資料進一步檢查 HTTP 要求報告,判斷是哪些要求造成這些變更;也可以查閱「每個資料庫的變更類型」報告,利用不同的樞紐分析檢視相同的資料。此外,您可以查閱「變更的物件」報告以及「每個資料庫變更的物件」報告,進一步分析被變更的物件類型。

如果想儲存目前的結果與他人分享,請按一下 [Export] (匯出) 按鈕。

每個資料庫的變更類型

這份報告會根據變更記錄中的資訊,顯示一段時間已變更的所有物件類型。資料點為每 k 分鐘 (k 預設為 5) 收集一次。這份報告以堆疊的長條圖顯示從所有資料庫彙總的資料。每一個堆疊代表不同的物件類型 (請參閱對應的圖例)。

您可以根據資料庫或變更類型篩選這些結果。例如,您可以自訂報告,讓它只顯示 contentdb1 資料庫上的變更類型 (假設這個資料庫在篩選下拉式清單方塊中)。同樣地,您可以自訂報告,讓它只顯示變更類型為 Rename 的變更資料,從而瞭解所有重新命名相關的變更。

這個資料有助於全面瞭解在特定時段所發生的變更類型,以及每一個資料庫的變更數量。您可以根據這個資料進一步查看 HTTP 要求報告,判斷是哪些要求造成這些變更;也可以查閱「變更類型」報告,利用不同的樞紐分析檢視相同的資料。此外,您可以查閱「變更的物件」報告以及「每個資料庫變更的物件」報告,進一步分析被變更的物件類型。

如果想儲存目前的結果與他人分享,請按一下 [Export] (匯出) 按鈕。

所有要求延遲

這份報告繪製所有要求的持續期間 (上限為 50,000)。

可使用這份報告挑出使用狀況中的異常部分。例如,效能不佳的網站載入時間需要 5 秒,所以會在 5 秒的刻度標示水平流程帶。若要更清楚的檢視,可拉近較小的區域,進入 HTTP 要求報告後尋找需要 5 秒左右的要求。

延遲高峰會以直條圖顯示。如果高峰有一定的時間規律,您可以觀察「計時器工作」報告,瞭解相同時間內是否有特殊的工作執行。

延遲百分比

這份報告顯示一段時間的多個關鍵百分位臨界值,讓您瞭解有多少個要求受到某個特殊延遲高峰的影響。

例如,如果所有要求中,最快的百分之 25 需要 1 秒或更長的時間,很可能是某些共用資源 (例如網路或 SQL Server 電腦) 中斷正影響所有的要求。可使用「延遲層明細」報告尋找共用資源的問題。

另一方面,如果所有要求的百分之 75 都能快速完成,但是第百分之 95 的延遲百分比相當高,您應該找出影響少數要求的根本原因,例如受制於單一資料庫,或者只有少數網站使用的自訂程式碼。

如果想查看記錄中最慢的要求,您可以檢視 HTTP 要求報告,然後按一下 [Duration] (持續時間) 欄排序清單。

您也可以利用「每位使用者的要求」報告以及「應用程式工作量」報告等使用狀況報告,找出對網路造成未預期負荷的使用者或應用程式。

SQL 死結

這份報告會列出一段時間的 SQL Server 死結。SQL Server 使用死結偵測功能,防止在執行兩個不相容的查詢時伺服器當機。要解決死結,會取消一或多個查詢。SharePoint Server 可以從某些死結恢復,然後重試受影響的查詢。不過,死結有時會造成特定的要求失敗。

SQL 封鎖

這份報告列出已經封鎖其他 SQL 查詢的 SQL 查詢。

封鎖會停止伺服器陣列中的一切活動。當受影響的資料庫無法處理被封鎖的查詢時,最後會消耗完所有可用的網頁伺服器記憶體,這樣一來,受影響的伺服器會停止回應或當機。

這份報告顯示負責產生封鎖查詢的要求或計時器工作,如果可能,也會顯示相關記錄。如果因為特定的使用者交易造成封鎖狀況,這份報告就可以派上用場。遇到這種情況時,可能表示您應該重新架構一份清單或重新設計一個使用自訂查詢的應用程式。

某些封鎖無法避免。例如,夜間資料庫維護便需要封鎖大部分的資料庫。

可用性報告群組

可用性報告群組包含數個報告,分別顯示伺服器陣列可用性趨勢和問題的相關資訊。

可用性報告

這份報告繪製 HTTP Web 服務的可用性圖表。可用性下降指出使用者可能無法使用他們的 SharePoint 網站的期間。

這份報告會將成功的 Web 要求數目除以傳送至伺服器的要求總數,計算出可用性。計算時會嘗試移除由自動化代理程式 (例如搜尋編目程式) 所發出的要求。不過,部分不明的自動化代理程式可能不會排除在外。

使用滑鼠選取某段低可用性時間,即可放大檢視。如果您選取較短的時間範圍,此調查後續使用的報告就可以更快的載入。

縮小時間範圍之後,可以使用「失敗的使用者要求」報告檢查所選時段內失敗之要求的詳細資訊。

發生故障時會結束處理序,不允許完成要求,因此降低可用性。因為故障時,處理序沒有機會寫入記錄中,所以故障時執行的要求不會顯示在這些報告中,而且它們對於可用性的影響也不會呈現在圖表中。無論如何,故障的狀況一定要調查清楚。

安排的「工作者處理序回收」很少會降低可用性。伺服器會嘗試通融某個處理序發出的要求,可以在啟動另一個處理序時完成,以便處理新的要求。通常在某些流量高於平均流量的時段中,如果平行執行多個處理序的要求增加,但伺服器無法應付,未安排的回收會造成某些要求失效。

SQL 概觀報告

這份報告顯示的資訊可以協助您瞭解伺服器陣列中,SQL Server 電腦的整體狀況。報告重點放在以下三個層面:

SQL Server 鎖定/封鎖

SQL Server 查詢封鎖會增加某些 SQL Server 查詢持續時間值,而且可能造成可用性問題以及拉長延遲時間。

  • 平均鎖定等候時間   鎖定是在 SQL Server 資源上進行,例如交易期間對列的讀取或修改,以防止不同的交易並行使用資源。例如,更新程式會進行 XLOCK,而且它會封鎖共用的讀取鎖定。鎖定等候時間太長,表示 SQL Server 層出現封鎖問題,您應該注意速度很慢的更新執行緒,因為它們會封鎖讀取。

  • 平均閂鎖等候時間   閂鎖主要用於同步化資料庫頁面。每一個閂鎖都有一個相關聯的配置單位。當衝突模式下,因為閂鎖被另一個執行緒控制而無法立即授與閂鎖要求時,便會發生閂鎖等候的狀況。不同於鎖定,在作業之後會立即釋放閂鎖,即使是在寫入作業中。閂鎖等候時間太長,表示將特定頁面載入記憶體所需的時間太長。

當「鎖定等候時間」過長時,可檢查「SQL 封鎖」報告,找出控制鎖定的查詢。

您可以檢查「SQL 死結」報告,找出可能已經產生失敗要求的查詢。

SQL Server 磁碟 IO

I/O 瓶頸是常見的 SQL Server 效能問題。當 SQL Server 沒有足夠的 I/O 頻寬處理傳入的查詢時,所有要求的效能都會下降,而且所有伺服器陣列 網頁伺服器的效能同樣會下降。

  • 平均磁碟佇列長度   這是整體磁碟 I/O 的測量數據。較高的值表示整體 I/O 的壓力增加,如果超過 10,很可能存在 I/O 瓶頸。

  • 平均邏輯讀取 / 秒   這是讀取磁碟 I/O 的測量數據。較高的值表示讀取 I/O 的壓力增加。

  • 平均邏輯寫入 / 秒   這是寫入磁碟 I/O 的測量數據。較高的值表示寫入 I/O 的壓力增加。

出現 I/O 瓶頸時,請檢查「SQL 密集讀取追蹤」報告,瞭解哪些查詢消耗最多的資源。

SQL Server CPU

當 SQL Server 電腦處理器使用量過高時,SQL 查詢會排入佇列,而網頁伺服器效能隨之降低。處理器和 I/O 效能息息相關。因此,當 SQL Server 處理器使用量很高時,I/O 通常也會很高。平均處理器使用量達百分之 80 即視為瓶頸。

出現 CPU 瓶頸之後,請檢查「SQL 密集讀取追蹤」報告,然後按一下 [CPU] 欄,依成本最高的查詢進行排序。

工作者處理序回收

回收通常不會影響可用性。Internet Information Services (IIS) 7.0 會建立新的處理序,而新的處理序會允許現有的要求完成,然後完全關閉回收的處理序。不過,起始處理序時,第一次瀏覽新的處理序可能延遲。

根據預設,SharePoint Server 會安排半夜執行工作者處理序回收工作。工作時間頻繁的回收會增加使用者要求的延遲。請檢查並瞭解 Web.config 設定是否已經變更,或者 IIS 是否修改回收設定。

失敗的使用者要求

這些使用者的要求失敗,或者要求過慢,使用者假設要求已經失敗。

選取失敗的要求,取得它的追蹤記錄。尋找提及某些系統元件失敗的追蹤。如果原因不明確,查看 Windows 事件報告以瞭解伺服器或 IIS 是否存在系統故障的徵兆。

如果要求由於速度太慢而失敗,可尋找記錄中的時間差,可能會清楚標示出來。如果時間差前面幾行指出 SQL Server 發生延遲,這個要求極可能被鎖定。請查看「SQL 封鎖」報告,找出封鎖的查詢,它就是問題根本原因所在。

有些要求的速度本來就很慢,例如下載大型檔案。

故障

這份報告顯示指定時間範圍內發生的所有 IIS 工作者處理序故障。在頂層報告選取列之後,會在下半部的窗格中顯示處理序在故障發生前幾秒鐘的追蹤。這些追蹤或許能說明故障的原因。

故障會對可用性造成嚴重的影響。因為故障發生時執行的要求不會記錄下來,所以可用性報告有可能低估故障帶來的影響。即使故障在一定程度上並不會影響可用性,但是這會造成資料遺失或者其他問題,所以應該調查清楚。

使用狀況報告群組

使用狀況報告群組包含數個報告,可以顯示伺服器陣列使用狀況趨勢以及問題的相關資訊。

每個 URL 的要求

這份報告顯示最常要求的 URL。您可以使用這份報告找出最常存取的頁面,因此進行最佳化處理時要先優先考慮這些頁面。

每一個使用者的要求

這份報告顯示最常用使用者帳戶所提出的要求百分比。部分系統帳戶,例如搜尋編目程式服務帳戶,本來就會產生很多的要求。在某些時候,個別使用者執行的作業也會意外的大量佔用資源。

應用程式工作量

這份報告顯示在指定的時間範圍內,各用戶端應用程式處理要求所投入的時間。這份報告提供用戶端要求大約耗用的資源。報告指出以下幾點:

  • 持續時間總數過高表示網頁伺服器需要額外的記憶體。

  • SQL Server 處理序持續時間太長,暗示 SQL I/O 或處理器使用量也很高,或者用戶端應用程式發出的要求可能被其他要求封鎖。

  • 網頁伺服器持續時間太長,表示陣列網頁伺服器的處理器使用量也很高。

每一個網站的要求

這份報告顯示對伺服器陣列中每一個網站發出的要求百分比。

已知問題

本節列出 SPDiag 3.0 的已知問題,以及可用的解決方法。

SPDiag 要求在 PowerShell 啟用遠端簽署執行原則

如果在 SPDiag 設定連接的陣列伺服器中的 PowerShell 並未啟用遠端簽署執行原則,當您嘗試在 SPDiag 的 [新增專案] 視窗輸入伺服器名稱時,SPDiag 會產生錯誤訊息。您可能會看到類似下方的錯誤訊息:

Problem Event Name: CLR20r3 (問題事件名稱:CLR20r3)

Problem Signature 01: spdiag.exe (問題簽章 01:spdiag.exe)

Problem Signature 09: System.ArgumentOutOfRange (問題簽章 09:System.ArgumentOutOfRange)

如果想更正這個問題,請到您想連線的陣列伺服器,從 Windows PowerShell 命令提示字元執行以下命令:

Set-ExecutionPolicy RemoteSigned

使用 SQL Server 別名時,伺服器連線失敗

當您嘗試從遠端用戶端電腦將 SPDiag 連線至伺服器陣列,而且 SharePoint 2010 產品伺服器陣列設定為使用 SQL Server 別名連線至資料庫伺服器,SPDiag 會產生以下錯誤:

The usage database was not found or was inaccessible.  Please make sure the TTFARM file has the right information and you have access to the server. (找不到使用狀況資料庫或者無法連接。請確定 TTFARM 檔案使用正確的資訊而且您可以使用伺服器。)

如果想更正這個問題,可以在安裝 SPDiag 的電腦上安裝 SQL Server 用戶端工具,然後設定 SQL Server 別名 (與 SharePoint 2010 產品伺服器陣列使用的別名相符)。

部分 SPDiag 診斷計時器工作需要 sysadmin 或 sqladmin 權限

部分 SPDiag 3.0 診斷工作要求伺服器陣列帳戶已經在 SQL Server 執行個體 (SharePoint 2010 產品資料庫所在處) 上指派 sysadmin 或 sqladmin 角色。如果伺服器陣列帳戶未指派這些角色,它會因為權限不足,無法執行某些報告蒐集資料時所需的診斷工作。

當作業系統地區設定不是 EN-US (1033) 時,SPDiag 報告無法運作

當您安裝 SPDiag 的電腦作業系統地區設定不是 EN-US (1033) 時,SPDiag 報告不會執行。因為您無法設定報告的日期範圍。目前唯一的解決方法是將用戶端電腦的地區設定變更成 EN-US。

如果您的 SharePoint 2010 產品陣列伺服器使用的地區設定不是 EN-US,建議您在用戶端電腦上安裝 SPDiag。

See Also

Concepts

SharePoint 2010 Administration Toolkit (SharePoint Server 2010)