使用 QPI函式庫確定你的Azure SQL Managed Instance有 log的寫入限制

by adonisy 23. 七月 2019 14:42

者:楊先民

審 稿:張智凱 

Azure SQL Managed instance是Azure cloud中託管完全託管的 instance,host instance中加入了一些限制,例如最大  log寫入輸入可能減慢你的整體效能。

在本文中,您將了解如何識別 managed instance上的 log 輸入問題。

Azure SQL Managed instance有一些內建的資源限制,例如最大 log的寫入比例。

這些限制 log寫入限制的原因,主要是要確保 log備份可以補獲傳入的資料。

在這篇文章中,我們將會使用 QPI 函式庫來輕鬆的分析在 Managed Instance中的等待統計。如果要安裝 QPI函式庫,可以到這裡,並且下載你所對應的 SQL Server版本。

它支援 Azure SQL以及 SQL Server 2016以上的版本,因為它是基於 Query Store views所寫出來的。

以下是它的程式宣告:

Disclaimer: QPI library is open source library provided as-is and not maintained by Microsoft. There are not guarantees that the results are correct and that there are not bugs in calculations. This is a helper library that can help you to more easily analyze performance of your Managed Instance, but you can do the same job by looking directly at DMVs.

在這個函式庫中,我們可以很輕易的快照一個等待的統計資訊,稍微花一點時間等待,並且取得等待的統計資訊值出來。

exec qpi.snapshot_wait_stats;

waitfor delay '00:00:03';

select *
from qpi.wait_stats
order by wait_time_s desc;

這個函式庫查詢資料之後,所得到的結果如下:

在這個例子中,你可以看到這個在 Managed Instance在 INSTANCE_LOG_RATE_GOVERNOR這個 wait type ,你可以透過下面的連結更了解會造成這樣結果的原因

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2019/03/05/analyzing-wait-statistics-on-managed-instance/

做為替代方案,你可以在 Managed Instance分析 I/O效能,透過檢視來檢定有關的效能瓶頸。

1.qpi.snapshot_file_stats這支程式將會從 sys.dm_io_virtual_file_stats動態管理函數中取出 io 統計資訊的快照。你必需使用 sys.dm_io_virtual_file_stats的快照資訊,它包含了一些

累加的資訊並且你需要在最近的時間內計算樣本。

2.qpi.file_stats這個檢視表將會取得從上次快照之後的檔案統計。這個檢視表包含了一些計算,像是 IOPS等等,並且從 sys.dm_io_virtual_file_stats中取得流量資訊。

下面的查詢將會加總每個檔案類型(log/data)在 instance分類中的寫入的流量資訊(MB/s)和 IOPS。

 

 

你可以看到在我的 instance中的結果,使用了 47.5MB/s寫入到 log檔案和總共 1226 的IOPS。

如果你看過 Azure 文件關於資源限制的描述,你就會發現 48MB/s是 log的寫入限制,這也是為什麼我要看 INSTANCE_LOG_RATE_GOVERNOR的等待統計資訊了。

這個分析是告訴你,你正在使用一些非常耗寫入的操作,而本例則是在使用 rebuild index這個動作。

Tags:

SQL Server資料庫 | 楊先民Adonis Young

不允許評論

NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List