Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
待ち事象から考える、 SQL Server の改善ポイント 
小澤真之 
Microsoft MVP for SQL Server (July 2011 -June 2015) 
D11
自己紹介 
2 db tech showcase 2014 
フリーランスエンジニアとしてSQL Server の案件を中心 に従事しています 
案件等で協力できることがありましたらお声掛けいただけると幸いです 
「SQLServer現状...
本セッションについて 
3 db tech showcase 2014 
本セッションでは、SQLServerの基本的な待ち事象 についての理解し、今後の改善ポイントを策定す るための、基本的な知識の取得を目的としていま す。 
本セッショ...
最適な処理の実行とは?? 
4 db tech showcase 2014 2014/11/11 
データベースで、最適な処理の実行状態とは?? 
実行した結果が瞬時に取得できる 
待ちが発生せずに結果を取得
待ち事象の概要 
5 db tech showcase 2014 2014/11/11
一般的な処理のライフサイクル 
6 db tech showcase 2014 2014/11/11 
実行状態 (RUNNING) 
実行可能状態 (RUNNABLE) 
待機状態 (SUSPENDED) 
待ち事象が 発生している
SQLServerの待ち事象の種類 
7 db tech showcase 2014 2014/11/11 
Wait Stats 
Latch Stats 
Spinlock Stats 
本セッションの内容
待ち事象の取得方法 
8 db tech showcase 2014 2014/11/11
待ち事象を取得する方法 
9 db tech showcase 2014 2014/11/11 
パフォーマンスモニター 
動的管理ビュー 
拡張イベント
パフォーマンスモニター 
10 db tech showcase 2014 2014/11/11 
SQLServer:WaitStatistics オブジェクトから取得可能 
http://msdn.microsoft.com/ja-jp...
動的管理ビュー1/2 
11 db tech showcase 2014 2014/11/11 
sys.dm_os_wait_statsから取得可能 
http://msdn.microsoft.com/ja-jp/library/ms1...
動的管理ビュー2/2 
12 db tech showcase 2014 2014/11/11 
以下の情報を取得可能 
waiting_tasks_count 
wait_time_ms 
max_wait_time_ms 
sig...
拡張イベント 
13 db tech showcase 2014 2014/11/11 
SQL Server 2008 から利用することができるようになった軽量なパフォーマン ス監視システム 
SQLServer2012からSSMSで容易...
DEMO 
14 db tech showcase 2014 2014/11/11 
待ち事象の取得
リソースの待ち 
15 db tech showcase 2014 2014/11/11
ディスク 
リソースの待ち1/2 
16 db tech showcase 2014 
アプリケーション 
データファイル 
ログファイル 
CPU 
SQL Server 
メモリ 
2014/11/11
ディスク 
リソースの待ち2/2 
17 db tech showcase 2014 
データファイル 
ログファイル 
CPU 
SQL Server 
メモリ 
ASYNC_NETWORK_IO 
WRITELOG 
アプリケーション 
S...
待ち事象とリソースの関係 
18 db tech showcase 2014 2014/11/11 
リソース 
待ち事象 
要因 
ネットワーク 
ASYNC_NETWORK_IO 
クライアント(アプリケーション) が サーバーからのデータ...
待ち事象の見方 
19 db tech showcase 2014 2014/11/11 
待ち事象が発生している= リソースが不足している 
ではない 
性能以上の待ち事象が発生しているのが問題 
リソース 
考慮点 
ネットワーク 
ク...
パフォーマンスモニターとの対比 
20 db tech showcase 2014 2014/11/11 
パフォーマンスモニターと待ち事象を対比し、リソースの使用状況を把握 
待ち事象 
パフォーマンスモニター 
ASYNC_NETWORK...
CPU に関連する待ち 
21 db tech showcase 2014 2014/11/11
CPUで処理できる上限 
22 db tech showcase 2014 2014/11/11 
CPUが瞬間的に実行できるのは一つの処理 
CPU 
処理A 
処理B 
処理A 
CPU 
スケジューラーの 譲渡が発生する 
SOS_SC...
パフォーマンスモニターとの対比 
23 db tech showcase 2014 2014/11/11 
待ち事象 
パフォーマンスモニター 
ASYNC_NETWORK_IO 
NetworkInterface¥BytesRecived/s...
DEMO 
24 db tech showcase 2014 2014/11/11 
SOS_SCHEDULER_YIELDの確認
CPU の利用時間 
25 db tech showcase 2014 2014/11/11 
CPUを長い時間使用しているクエリに注目 
CPU時間(Worker Time/ CPU Time) 
クエリの実行時間(Elapsed Ti...
クエリのコンパイル 
26 db tech showcase 2014 2014/11/11 
クエリの初回実行時にはクエリのコンパイルが行われる 
クエリのコンパイルに使用されたリソースは実行プランから取得可能 
CompileTime...
DEMO 
27 db tech showcase 2014 2014/11/11 
CPU改善のためのクエリ取得
メモリに関連する待ち 
28 db tech showcase 2014 2014/11/11
SQL Sever の基本的なメモリ構造 
29 db tech showcase 2014 2014/11/11 
Memory Manager : Database Cache Memory (KB) 
Plan Cache : Cache...
SQL Server のI/O 
30 db tech showcase 2014 2014/11/11 
ディスク 
データファイル 
ログファイル 
CPU 
SQL Server 
メモリ 
論理I/O 
物理I/O 
PAGEIOLAT...
パフォーマンスモニターとの対比 
31 db tech showcase 2014 2014/11/11 
待ち事象 
パフォーマンスモニター 
ASYNC_NETWORK_IO 
NetworkInterface¥BytesRecived/s...
物理I/O を減らすためには 
32 db tech showcase 2014 2014/11/11 
物理I/O の回数を減らす 
Scan操作ではなくSeek操作による検索効率の改善 
検索効率の改善による処理時間の短縮は、CPU使...
DEMO 
33 db tech showcase 2014 2014/11/11 
論理I/O と物理I/O
ディスクの待ち 
34 db tech showcase 2014 2014/11/11
ディスクの基本性能を把握する 
35 db tech showcase 2014 2014/11/11 
SQLServerのI/Oでディスクの基本性能を取得するためのツールを利用 
SQLIO 
SQLIO Disk Subsystem...
2 種類の待ちに注目 
36 db tech showcase 2014 2014/11/11 
PAGEIOLATCH 
データの読み取り 
メモリに関する待ちと同じアプローチ 
WRITELOG 
データの書き込み
LogBuffer 
ログの書き込みの基本動作 
37 db tech showcase 2014 2014/11/11 
ディスク 
データファイル 
ログファイル 
CPU 
SQL Server 
メモリ 
LogFlush 
WRITE...
パフォーマンスモニターとの対比 
38 db tech showcase 2014 2014/11/11 
待ち事象 
パフォーマンスモニター 
ASYNC_NETWORK_IO 
NetworkInterface¥BytesRecived/s...
ログフラッシュの発生タイミング 
39 db tech showcase 2014 2014/11/11 
DECLARE @cntint= 1 
BEGIN TRAN 
WHILE (@cnt<= 10000) 
BEGIN 
INSERT ...
DEMO 
40 db tech showcase 2014 2014/11/11 
WRITELOGの確認
まとめ 
41 db tech showcase 2014 2014/11/11 
最初の一歩として、以下の待ち事象とパフォーマンスモニターを 組み合わせることで全体的なリソースの使用状況を把握すること ができる 
SOS_SCHEDULE...
Upcoming SlideShare
Loading in …5
×

待ち事象から考える、Sql server の改善ポイント

10,477 views

Published on

  • Sex in your area is here: ❤❤❤ http://bit.ly/2ZDZFYj ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ♥♥♥ http://bit.ly/2ZDZFYj ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

待ち事象から考える、Sql server の改善ポイント

  1. 1. 待ち事象から考える、 SQL Server の改善ポイント 小澤真之 Microsoft MVP for SQL Server (July 2011 -June 2015) D11
  2. 2. 自己紹介 2 db tech showcase 2014 フリーランスエンジニアとしてSQL Server の案件を中心 に従事しています 案件等で協力できることがありましたらお声掛けいただけると幸いです 「SQLServer現状診断」によるSQLServer稼働状況の報告書作成 「SQL Server 性能情報解析手法の基礎」のセミナー実施 Microsoft MVP for SQL Server (July 2011 -June 2015) コミュニティやブログでSQL Server の情報を発信 コミュニティ活動 SQL Server : SQLTO (http://sqlto.net) Azure : JAZUG(http://r.jazug.jp/) ブログ: SE の雑記(http://engineermemo.wordpress.com) 2014/11/11
  3. 3. 本セッションについて 3 db tech showcase 2014 本セッションでは、SQLServerの基本的な待ち事象 についての理解し、今後の改善ポイントを策定す るための、基本的な知識の取得を目的としていま す。 本セッションの内容はSQL Server 2014 をベースと していますが、一部の内容を除いて2005 ~2012 でも利用することが可能です。 2014/11/11
  4. 4. 最適な処理の実行とは?? 4 db tech showcase 2014 2014/11/11 データベースで、最適な処理の実行状態とは?? 実行した結果が瞬時に取得できる 待ちが発生せずに結果を取得
  5. 5. 待ち事象の概要 5 db tech showcase 2014 2014/11/11
  6. 6. 一般的な処理のライフサイクル 6 db tech showcase 2014 2014/11/11 実行状態 (RUNNING) 実行可能状態 (RUNNABLE) 待機状態 (SUSPENDED) 待ち事象が 発生している
  7. 7. SQLServerの待ち事象の種類 7 db tech showcase 2014 2014/11/11 Wait Stats Latch Stats Spinlock Stats 本セッションの内容
  8. 8. 待ち事象の取得方法 8 db tech showcase 2014 2014/11/11
  9. 9. 待ち事象を取得する方法 9 db tech showcase 2014 2014/11/11 パフォーマンスモニター 動的管理ビュー 拡張イベント
  10. 10. パフォーマンスモニター 10 db tech showcase 2014 2014/11/11 SQLServer:WaitStatistics オブジェクトから取得可能 http://msdn.microsoft.com/ja-jp/library/ms190732.aspx 一部の待ち事象を時系列で取得することができる Lock waits Log buffer waits Log write waits Memory grant queue waits Network IO waits Non-Page latch waits Page IO latch waits Page latch waits Thread-safe memory objects waits Transaction ownership waits Wait for the worker Workspace synchronization waits
  11. 11. 動的管理ビュー1/2 11 db tech showcase 2014 2014/11/11 sys.dm_os_wait_statsから取得可能 http://msdn.microsoft.com/ja-jp/library/ms179984.aspx SQL Server 2014 では770 程度の待ち事象の情報を取得可能 SQLServerのサービスが最後に起動してからの累計値を格納 パフォーマンスモニター 動的管理ビュー 項目 Lock waits LCK_M_xx Log write waits WRITELOG Network IO waits ASYNC_NETWORK_IO Page IO latch waits PAGEIOLATCH_xx SOS_SCHEDULER_YIELD
  12. 12. 動的管理ビュー2/2 12 db tech showcase 2014 2014/11/11 以下の情報を取得可能 waiting_tasks_count wait_time_ms max_wait_time_ms signal_wait_time_ms wait_time_msとsignal_wait_time_msの比率にも注目 T0 : リソースの要求 T1 : シグナルの受付 T2 : リソースの利用開始 Signal Wait Time (ms) Wait Time (ms)
  13. 13. 拡張イベント 13 db tech showcase 2014 2014/11/11 SQL Server 2008 から利用することができるようになった軽量なパフォーマン ス監視システム SQLServer2012からSSMSで容易に設定可能 セッションごとにsys.dm_os_wait_statsの情報を取得できる wait_infoまたはwait_completedイベントから取得可能 duration : wait timems signal_duration: signal wait ms
  14. 14. DEMO 14 db tech showcase 2014 2014/11/11 待ち事象の取得
  15. 15. リソースの待ち 15 db tech showcase 2014 2014/11/11
  16. 16. ディスク リソースの待ち1/2 16 db tech showcase 2014 アプリケーション データファイル ログファイル CPU SQL Server メモリ 2014/11/11
  17. 17. ディスク リソースの待ち2/2 17 db tech showcase 2014 データファイル ログファイル CPU SQL Server メモリ ASYNC_NETWORK_IO WRITELOG アプリケーション SOS_SCHEDULER_YIELD PAGEIOLATCH_xx 2014/11/11
  18. 18. 待ち事象とリソースの関係 18 db tech showcase 2014 2014/11/11 リソース 待ち事象 要因 ネットワーク ASYNC_NETWORK_IO クライアント(アプリケーション) が サーバーからのデータを処理 CPU SOS_SCHEDULER_YIELD 他のタスクの実行にスケジューラーを 解放 メモリ (ディスク) PAGEIOLATCH_xx I/O要求でバッファーラッチが待機 ディスク WRITELOG ログフラッシュの完了を待機
  19. 19. 待ち事象の見方 19 db tech showcase 2014 2014/11/11 待ち事象が発生している= リソースが不足している ではない 性能以上の待ち事象が発生しているのが問題 リソース 考慮点 ネットワーク クライアント/サーバーの帯域上限に達した状態を推移している ネットワークキューが頻繁に発生している CPU CPUの使用率が100% に達した状態を推移している CPUキューが頻繁に発生している メモリ キャッシュのヒット率が低い ディスクからの読み取りに時間がかかっている ディスク ディスクからの読み取りに時間がかかっている ログの書き込みに時間がかかっている
  20. 20. パフォーマンスモニターとの対比 20 db tech showcase 2014 2014/11/11 パフォーマンスモニターと待ち事象を対比し、リソースの使用状況を把握 待ち事象 パフォーマンスモニター ASYNC_NETWORK_IO NetworkInterface¥BytesRecived/sec Network Interface¥Bytes Sent/sec Network Interface¥Bytes Total/sec Network Interface¥Output Queue length SOS_SCHEDULER_YIELD Processor¥% Processor Time Process(sqlservr)¥%Processor Time System¥Processor Queue Length SQLServer:SQLStatistics¥Batch Request/sec PAGEIOLATCH_xx Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:BufferManager¥Buffer cache hit ratio SQLServer:BufferManager¥Page life expectancy WRITELOG Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:Database¥LogFlush Waits/sec
  21. 21. CPU に関連する待ち 21 db tech showcase 2014 2014/11/11
  22. 22. CPUで処理できる上限 22 db tech showcase 2014 2014/11/11 CPUが瞬間的に実行できるのは一つの処理 CPU 処理A 処理B 処理A CPU スケジューラーの 譲渡が発生する SOS_SCHEDULER_YIELD
  23. 23. パフォーマンスモニターとの対比 23 db tech showcase 2014 2014/11/11 待ち事象 パフォーマンスモニター ASYNC_NETWORK_IO NetworkInterface¥BytesRecived/sec Network Interface¥Bytes Sent/sec Network Interface¥Bytes Total/sec Network Interface¥Output Queue length SOS_SCHEDULER_YIELD Processor¥% Processor Time Process(sqlservr)¥%Processor Time System¥Processor Queue Length SQLServer:SQLStatistics¥Batch Request/sec PAGEIOLATCH_xx Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:BufferManager¥Buffer cache hit ratio SQLServer:BufferManager¥Page life expectancy WRITELOG Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:Database¥LogFlush Waits/sec
  24. 24. DEMO 24 db tech showcase 2014 2014/11/11 SOS_SCHEDULER_YIELDの確認
  25. 25. CPU の利用時間 25 db tech showcase 2014 2014/11/11 CPUを長い時間使用しているクエリに注目 CPU時間(Worker Time/ CPU Time) クエリの実行時間(Elapsed Time) CPU時間の長いクエリは以下から調査可能 プランキャッシュから取得 sys.dm_exec_query_statshttp://msdn.microsoft.com/ja-jp/library/ms189741.aspx 実行中のセッションから取得 sys.dm_exec_sessionshttp://msdn.microsoft.com/ja-jp/library/ms176013.aspx 利用状況モニター
  26. 26. クエリのコンパイル 26 db tech showcase 2014 2014/11/11 クエリの初回実行時にはクエリのコンパイルが行われる クエリのコンパイルに使用されたリソースは実行プランから取得可能 CompileTime(ms) CompileMemory(KB) CompileCPU(ms) http://schemas.microsoft.com/sqlserver/2004/07/showplan 過度なコンパイルの実行はCPUの負荷上昇にもつながる ストアドプロシージャ/ パラメーター化されていないクエリの大量の実行 類似のアドホッククエリの大量キャッシュはコンパイルコストが高い SELECT* FROM Table_1 WHERE Col1 = ‘AAAAA’ SELECT* FROM Table_1 WHERE Col1 = ‘BBBBB’
  27. 27. DEMO 27 db tech showcase 2014 2014/11/11 CPU改善のためのクエリ取得
  28. 28. メモリに関連する待ち 28 db tech showcase 2014 2014/11/11
  29. 29. SQL Sever の基本的なメモリ構造 29 db tech showcase 2014 2014/11/11 Memory Manager : Database Cache Memory (KB) Plan Cache : Cache Pages Memory Manager : Connection Memory (KB) Memory Manager : Granted Workspace Memory (KB) Memory Manager : Lock Memory (KB) 一時利用 キャッシュ 今回の対象
  30. 30. SQL Server のI/O 30 db tech showcase 2014 2014/11/11 ディスク データファイル ログファイル CPU SQL Server メモリ 論理I/O 物理I/O PAGEIOLATCH どちらも CPUを利用
  31. 31. パフォーマンスモニターとの対比 31 db tech showcase 2014 2014/11/11 待ち事象 パフォーマンスモニター ASYNC_NETWORK_IO NetworkInterface¥BytesRecived/sec Network Interface¥Bytes Sent/sec Network Interface¥Bytes Total/sec Network Interface¥Output Queue length SOS_SCHEDULER_YIELD Processor¥% Processor Time Process(sqlservr)¥%Processor Time System¥Processor Queue Length SQLServer:SQLStatistics¥Batch Request/sec PAGEIOLATCH_xx Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:BufferManager¥Buffer cache hit ratio SQLServer:BufferManager¥Page life expectancy WRITELOG Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:Database¥LogFlush Waits/sec
  32. 32. 物理I/O を減らすためには 32 db tech showcase 2014 2014/11/11 物理I/O の回数を減らす Scan操作ではなくSeek操作による検索効率の改善 検索効率の改善による処理時間の短縮は、CPU使用率の改善にもつながる 読み取るページ数の削減 インデックスの断片化の解消 データの圧縮機能 行/ データ圧縮 列ストアインデックス データのキャッシュ領域を有効に活用 キャッシュヒット率を上げる プランキャッシュを減らすことでデータキャッシュの領域を増加 データ圧縮によりキャッシュできるページを増やす 圧縮されたデータは圧縮された状態でメモリにキャッシュされる Enterprise Edition の機能
  33. 33. DEMO 33 db tech showcase 2014 2014/11/11 論理I/O と物理I/O
  34. 34. ディスクの待ち 34 db tech showcase 2014 2014/11/11
  35. 35. ディスクの基本性能を把握する 35 db tech showcase 2014 2014/11/11 SQLServerのI/Oでディスクの基本性能を取得するためのツールを利用 SQLIO SQLIO Disk Subsystem Benchmark Tool http://www.microsoft.com/en-us/download/details.aspx?id=20163 SQLIOSIM C:¥Program Files¥Microsoft SQL Server¥<インスタンスID>¥MSSQL¥Binn サーバーの構築が完了したタイミングで測定することを推奨 HD SSD 1 スレッド 10スレッド 1 スレッド 10スレッド 8KB 64KB 8KB 64KB 8KB 64KB 8KB 64KB Sequential Read IO/sec 8,240 2,753 16,270 3,851 7,362 2389 24,039 3,135 MBytes/sec 64 172 127 240 57 149 187 195 Write IO/sec 8,752 2,512 17,728 3,859 7,625 1678 21,026 2,704 MBytes/sec 68 157 138 241 59 104 164 169 Random Read IO/sec 158 143 247 222 4,718 1920 18,322 3,049 MBytes/sec 1 8 1 14 36 119 143 190 Write IO/sec 810 710 875 779 7,600 1,637 18,347 2,417 MBytes/sec 6 44 6 49 59 102 143 151 SQLIOSIM を使用したディスク性能の測定例
  36. 36. 2 種類の待ちに注目 36 db tech showcase 2014 2014/11/11 PAGEIOLATCH データの読み取り メモリに関する待ちと同じアプローチ WRITELOG データの書き込み
  37. 37. LogBuffer ログの書き込みの基本動作 37 db tech showcase 2014 2014/11/11 ディスク データファイル ログファイル CPU SQL Server メモリ LogFlush WRITELOG
  38. 38. パフォーマンスモニターとの対比 38 db tech showcase 2014 2014/11/11 待ち事象 パフォーマンスモニター ASYNC_NETWORK_IO NetworkInterface¥BytesRecived/sec Network Interface¥Bytes Sent/sec Network Interface¥Bytes Total/sec Network Interface¥Output Queue length SOS_SCHEDULER_YIELD Processor¥% Processor Time Process(sqlservr)¥%Processor Time System¥Processor Queue Length SQLServer:SQLStatistics¥Batch Request/sec PAGEIOLATCH_xx Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:BufferManager¥Buffer cache hit ratio SQLServer:BufferManager¥Page life expectancy WRITELOG Logical Disk (Physical Disk)¥Current Disk Queue Length Logical Disk (Physical Disk)¥Disk Read/ Write Bytes/sec Logical Disk (Physical Disk)¥Disk Read/ Write /sec SQLServer:Database¥LogFlush Waits/sec
  39. 39. ログフラッシュの発生タイミング 39 db tech showcase 2014 2014/11/11 DECLARE @cntint= 1 BEGIN TRAN WHILE (@cnt<= 10000) BEGIN INSERT INTO WriteLogTestVALUES(NEWID()) SET @cnt+= 1 END COMMIT TRAN ログフラッシュ ログレコードがディスクに書き込まれ完全持続性が保障される ログフラッシュの完了を待たずに処理を完了させる→ 遅延持続性 DECLARE @cntint= 1 WHILE (@cnt<= 10000) BEGIN INSERT INTO WriteLogTestVALUES(NEWID()) SET @cnt+= 1 END
  40. 40. DEMO 40 db tech showcase 2014 2014/11/11 WRITELOGの確認
  41. 41. まとめ 41 db tech showcase 2014 2014/11/11 最初の一歩として、以下の待ち事象とパフォーマンスモニターを 組み合わせることで全体的なリソースの使用状況を把握すること ができる SOS_SCHEDULER_YIELD PAGEIOLATCH_xx WRITELOG リソースの使用状況を把握することで改善ポイントを検討できる

×