監視並疑難排解儲存效能

本主題列出建議使用的效能計數器,以監視在 Microsoft Office SharePoint Server 2007 環境中執行的 SQL Server 資料庫效能。同時也會列出每部計數器的正常值 (近似值)。

如需如何監視效能及使用效能計數器的詳細資訊,請參閱監視效能 (https://go.microsoft.com/fwlink/?linkid=105584&clcid=0x404)。

要監視的實體伺服器計數器

請監視下列計數器以確保伺服器運作正常:

  • 處理器:% Processor Time: _Total (% 處理器時間:_Total)   此計數器會顯示處理器除閒置期間外,執行應用程式或作業系統程序的時間百分比。在執行 SQL Server 的電腦上,此計數器應保持在百分之 50 至 75 之間。若持續超載,請檢查是否有異常的處理活動,或伺服器是否需要額外的 CPU。

  • 系統:Processor Queue Length (處理器佇列長度)   此計數器會顯示處理器佇列中執行緒的數目。請監視此計數器,確保該值維持在核心 CPU 數目的兩倍以下。

  • 記憶體:Available Mbytes (可用 MB)   此計數器會顯示在電腦上執行之處理程序可使用的實際記憶體大小 (MB)。請監視此計數器,確保至少維持在可用實際 RAM 總數百分之 20 的水準。

  • 記憶體:Pages/sec (頁數/秒)   此計數器會顯示解決指定硬體分頁錯誤的磁碟讀寫頁面速率。請監視此計數器,確保其維持在 100 以下。

如需詳細資訊及記憶體疑難排解方法,請參閱 SQL Server 2005 監視記憶體使用狀況 (https://go.microsoft.com/fwlink/?linkid=105585&clcid=0x404)。

要監視的磁碟計數器

請監視下列計數器,以確保磁碟狀況正常。請注意,下列值代表的是在一段時間內所量測的值,而不是突然增加的值,也不是以某一次度量為基礎的值。

  • 實體磁碟:% Disk Time: DataDrive (% 磁碟時間:資料磁碟機)   此計數器會顯示所選磁碟機忙於處理讀寫要求所經過的時間百分比。請監視此計數器,確保該值維持在磁碟數目的兩倍以下。

  • 邏輯磁碟:Disk Transfers/sec (磁碟轉移/秒)   此計數器會顯示磁碟上讀寫作業的執行速率。使用此計數器可適當監視成長趨勢及預測。

  • 邏輯磁碟:Disk Read Bytes/sec (磁碟讀取位元組/秒)邏輯磁碟:Disk Write Bytes/sec (磁碟寫入位元組/秒)   這兩個計數器會顯示讀取或寫入作業期間,磁碟傳輸的位元組速率。

  • 邏輯磁碟:Avg. Disk Bytes/Read (平均磁碟位元組/讀取)   此計數器會顯示讀取作業期間,磁碟傳輸的平均位元組數。此值可反映磁碟延遲:較大的讀取作業會略微拉大延遲。

  • 邏輯磁碟:Avg. Disk Bytes/Write (平均磁碟位元組/寫入)   此計數器會顯示寫入作業期間,傳輸至磁碟的平均位元組數。此值可反映磁碟延遲:較大的寫入作業會略微拉大延遲。

  • 邏輯磁碟:Current Disk Queue Length (目前磁碟佇列長度)   此計數器會顯示收集效能資料時,磁碟上未完成的要求數目。對此計數器而言,值愈低愈好。每部磁碟機上的值超過 2,即表示出現瓶頸而應予以調查。亦即由 4 部磁碟機組成的 LUN,能接受的值最多只到 8。瓶頸會建立積存而可能散佈超過存取磁碟目前的伺服器,致使使用者等候甚久。可能的瓶頸解決方案是在 RAID 陣列中加入更多磁碟、以更快的磁碟取代現有的磁碟,或將部分資料移至其他磁碟。

  • 邏輯磁碟:Avg. Disk Queue Length (平均磁碟佇列長度)   此計數器會顯示所選磁碟在取樣間隔期間,所佇列的讀寫要求平均數。其規則為,每個磁針上未完成的讀寫要求應為兩個或更少;但因存放裝置虛擬化及設定與設定間的 RAID 層級差異,使得此值測量困難。請尋找大於磁碟佇列平均長度與大於磁碟平均延遲的組合。此組合表示存放裝置陣列快取使用過度,或與其他應用程式共用磁針的狀況已影響效能。

  • 邏輯磁碟:Avg. Disk sec/Read (讀取磁碟的平均秒數)邏輯磁碟:Avg. Disk sec/Write (寫入磁碟的平均秒數)   這些計數器會顯示磁碟讀寫作業的平均時間 (以秒計)。請監視這些計數器,確保其維持在磁碟容量的 85% 以下。讀取或寫入作業若超過 85% 的磁碟容量,磁碟存取時間會以指數方式增加。若要決定適用於您硬體的特定容量,請參閱廠商文件或使用 SQLIO Disk Subsystem Benchmark Tool 計算。如需詳細資訊,請參閱 SQLIO Disk Subsystem Benchmark Tool (英文) (https://go.microsoft.com/fwlink/?linkid=105586&clcid=0x404)。

    • 邏輯磁碟:Avg. Disk sec/Read (讀取磁碟的平均秒數)   此計數器會顯示磁碟讀取作業的平均時間 (以秒計)。在調整完善的系統上,理想值為記錄 1 至 5 毫秒 (ms,理想狀態為一個快取陣列 1 ms),資料 4 至 20 ms (理想狀態為小於 10 ms)。尖峰時間會出現較高的延遲,但若經常出現高值,即應調查原因。

    • 邏輯磁碟:Avg. Disk sec/Write (寫入磁碟的平均秒數)   此計數器會顯示磁碟寫入作業的平均時間 (以秒計)。在調整完善的系統上,理想值為記錄 1 至 5 ms (理想狀態為一個快取陣列 1 ms),資料 4 至 20 ms (理想狀態為小於 10 ms)。尖峰時間會出現較高的延遲,但若經常出現高值,即應調查原因。

    使用 RAID 設定搭配 Avg. Disk sec/ReadAvg. Disk sec/Write 時,請使用下表列出的公式,決定磁碟的輸入及輸出速率。

    RAID 層級 公式

    RAID 0

    每部磁碟的 I/O = (讀取 + 寫入) / 磁碟數

    RAID 1

    每部磁碟的 I/O = [讀取 + (2 * 寫入)] / 2

    RAID 5

    每部磁碟的 I/O = [讀取 + (4 * 寫入)] / 磁碟數

    RAID 10

    每部磁碟的 I/O = [讀取 + (2 * 寫入)] / 磁碟數

    例如,若有兩部實體磁碟的 RAID 1 系統,計數器值即如下表所示:

    計數器

    Avg. Disk sec/Read

    80

    邏輯磁碟:Avg. Disk sec/Write (寫入磁碟的平均秒數)

    70

    Avg. Disk Queue Length

    5

    每部磁碟的 I/O 值計算如下:(80 + (2 * 70))/2 = 110

    磁碟佇列長度計算如下:5/2 = 2.5

    此種狀況會發生臨界 I/O 瓶頸。

其他監視工具

您也可以使用 SQL Server 2008 中的 sys.dm_io_virtual_file_stats 動態管理檢視,監視磁碟延遲及分析趨勢。如需詳細資訊,請參閱 sys.dm_io_virtual_file_stats (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=105587&clcid=0x404)。

疑難排解

當磁碟或 RAID 出現瓶頸時,請考慮執行下列動作:

  1. 將部分檔案重新放置到其他磁碟或 RAID 陣列。

  2. 在陣列中新增磁碟。

  3. 內容若無法分割 (例如,若為單一內容資料庫檔案),請換用較快的磁碟。

  4. 在可能的情況下,請將相關的內容資料庫分割成數個資料庫,亦即使用 Stsadm.exe 命令列工具或 Microsoft Office SharePoint Designer,重新放置或分割並重新放置網站集合。若仍有問題,請從步驟 1 開始,重複疑難排解步驟。