1. 程式人生 > >AlwaysOn 如何應對大事務操作?

AlwaysOn 如何應對大事務操作?

delete 瓶頸 性能 顯式 準備 etl 同步 tro IT

對於AlwaysOn和鏡像環境下的歸檔(或其他大事務操作),我覺得要註意點:

1. 盡量避免在同步模式下做大事務操作,一旦決定做,請改成異步模式。
2. 歸檔勤做,每次做也要loop delete top n and waitfor。
3. 索引維護,盡量將索引重建改成索引重整。
4. 應該把大批刪除,切成小塊來刪或者不歸檔,重命名原表,新建一個同schema的表。

5. 修改鏡像數據庫的數據文件到PCI-E SSD上,啟動可以加速同步,在alwayson上應該也能用上。
6. 同步提交模式,對於大事務帶來延時,尤其對於如下環境:在周末或晚上必須完成大ETL批處理,用於準備下個工作日的數據。使用顯式事務可以優化負載性能,並仍然利用了同步提交提供的安全性(避免數據丟失),減少HADR_Commit等待。

7.升級到AlwaysOn 2016,利用最新的日誌性能改進,將日誌捕獲和應用由單線程變成多線程。

更好的日誌傳輸性能

隨著高速硬件SSD的普遍使用,提供了更大的吞吐量,這對於寫事務到輔助副本是很重要的。因此,微軟更新了AlwaysOn的數據同步過程,簡化了管道以便有更好的吞吐量和CPU上的更少壓力。性能瓶頸大多數可能發生在日誌捕獲(Log Capture)和重做(Redo)步驟。之前,日誌捕獲和重做步驟使用單線程處理日誌,而現在這些步驟使用多線程並行運行,極大提升了性能。

AlwaysOn 如何應對大事務操作?