TempDBにローカルSSDを使用して本番環境に展開しています。 RAID1構成に2つのSSDがあります。 1〜2ミリ秒の平均読み取りが表示されていますが、4つのtempdbデータファイルすべてで平均書き込みが1377ミリ秒と表示されています。
各tempdbデータファイルは2 GBで、1 GBの拡張設定があります(5か月前の展開以降、拡張されていません)。
Tempdbログには、平均読み取り67msと平均書き込み215msが表示されています。
SSDはSamsung 840プロです。
次のコードは、統計を取得するために使用するものです
SELECT a.database_Id,
a.file_id,
db_name(a.database_id) AS dbname,
b.name,
db_file_type = CASE
WHEN a.file_id = 2 THEN 'Log'
ELSE 'Data'
END,
UPPER(SUBSTRING(b.physical_name, 1, 2)) AS disk_location,
a.io_stall,
a.io_stall_read_ms / Case When a.num_of_reads = 0 Then 1 Else a.num_of_reads end AvgRead,
a.io_stall_write_ms / Case When a.num_of_writes = 0 Then 1 Else a.num_of_writes end AvgWrite,
Cast(Round(((( a.size_on_disk_bytes / 1024 ) / 1024.0 ) / 1024), 2) as float) AS size_on_disk_gb
FROM sys.dm_io_virtual_file_stats (NULL, NULL) a
JOIN sys.master_files b ON a.file_id = b.file_id AND a.database_id = b.database_id
ORDER BY a.io_stall DESC
以下は、返された上位5行です
database_Id file_id dbname name db_file_type disk_location io_stall AvgRead AvgWrite size_on_disk_gb
2 1 tempdb tempdev Data F: 19782846713 2 1377 2
2 3 tempdb tempdev2 Data F: 19782655021 2 1377 2
2 5 tempdb tempdev4 Data F: 19782364070 2 1377 2
2 4 tempdb tempdev3 Data F: 19782151571 2 1377 2
2 2 tempdb templog Log F: 378829065 67 215 1
SSD上のtmepdbファイルは、私が持っている最も遅いドライブです。構成/インフラストラクチャの観点から注意すべき点はありますか? tempdbのアプリケーションの使用状況とメモリの流出を調査していますが、ひどいものは何もありません。
サーバーのRAIDコントローラーを交換することで、しばらく前にこれをクラックしました。ディスクとサーバーの構成は問題ありませんでしたが、RAIDコントローラーがIOを処理できなかったようです。
これで、読み取りが2ミリ秒以下、書き込みが5ミリ秒以下の適切な場所になりました。