web-dev-qa-db-ja.com

SQL Server 2012ローカルSSD TempDBが遅い

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のアプリケーションの使用状況とメモリの流出を調査していますが、ひどいものは何もありません。

5
James Anderson

サーバーのRAIDコントローラーを交換することで、しばらく前にこれをクラックしました。ディスクとサーバーの構成は問題ありませんでしたが、RAIDコントローラーがIOを処理できなかったようです。

これで、読み取りが2ミリ秒以下、書き込みが5ミリ秒以下の適切な場所になりました。

4
James Anderson