等待分類與解決基本流程:
步驟1.定位問題
系統(tǒng)等待往往能直觀的反映出系統(tǒng)問題。通過一些常見的等待類型,同樣可以找到系統(tǒng)瓶頸,結(jié)合性能計數(shù)器往往定位更準(zhǔn)確。
如:系統(tǒng)中存在大量IO類等待,那么可能表示你的磁盤或內(nèi)存是語句運行緩慢的原因,也是系統(tǒng)的瓶頸所在。
常見的等待類型
CXPACKET : 當(dāng)嘗試同步查詢處理器交換迭代器時出現(xiàn)。如果針對該等待類型的爭用成為問題時,可以考慮降低并行度。
IO_COMPLETION : 在等待 I/O 操作完成時出現(xiàn)。通常,該等待類型表示非數(shù)據(jù)頁 I/O。
PAGEIOLATCH_ : 在任務(wù)等待 I/O 請求中緩沖區(qū)的閂鎖時發(fā)生。
PAGELATCH_ : 在任務(wù)等待不處于 I/O 請求中的緩沖區(qū)閂鎖時發(fā)生。
LCK_ :等待閂鎖時出現(xiàn)。
ASYNC_NETWORK_IO : 當(dāng)任務(wù)被阻止在網(wǎng)絡(luò)之后時出現(xiàn)在網(wǎng)絡(luò)寫入中。驗證客戶端是否正在處理來自服務(wù)器的數(shù)據(jù)?!?/p>
OLEDB :當(dāng) SQL Server 調(diào)用 Microsoft SQL Native Client OLE DB 訪問接口時出現(xiàn)。該等待類型不用于同步。而是用于指示調(diào)用 OLE DB 訪問接口的持續(xù)時間
WRITELOG :等待日志刷新完成時出現(xiàn)。導(dǎo)致日志刷新的常見操作是檢查點和事務(wù)提交?!?/p>
步驟2.分析
問題與解決
CXPACKET
CXPACKET 這個等待可以簡單理解成CPU相關(guān)的等待,主要發(fā)生在并行計劃中。由于并行計劃需要協(xié)同多個task同時工作,那么“協(xié)同”分配等等操作的時候出現(xiàn)的就是這個等待。