監視並疑難排解儲存效能
本主題列出建議使用的效能計數器,以監視在 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/Read 或 Avg. 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 出現瓶頸時,請考慮執行下列動作:
將部分檔案重新放置到其他磁碟或 RAID 陣列。
在陣列中新增磁碟。
內容若無法分割 (例如,若為單一內容資料庫檔案),請換用較快的磁碟。
在可能的情況下,請將相關的內容資料庫分割成數個資料庫,亦即使用 Stsadm.exe 命令列工具或 Microsoft Office SharePoint Designer,重新放置或分割並重新放置網站集合。若仍有問題,請從步驟 1 開始,重複疑難排解步驟。