37. LogBuffer
ログの書き込みの基本動作
37 db tech showcase 2014 2014/11/11
ディスク
データファイル
ログファイル
CPU
SQL Server
メモリ
LogFlush
WRITELOG
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 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. DEMO
40 db tech showcase 2014 2014/11/11
WRITELOGの確認