弊社のベンダーアプリケーションデータベースは非常にTempDBを集中的に使用しています。
サーバーは、SQL 2012 Enterprise SP3を実行する40コアおよび768GB RAMの仮想(VMWare)です。
TempDBを含むすべてのデータベースは、SANのTier 1 SSDにあります。tempdbデータファイルは10個あり、それぞれ1GBに事前に拡張されており、自動拡張されることはありません。70 GBのログファイルと同じです。トレースフラグ1117および1118は既に設定されています。
sys.dm_io_virtual_file_statsは、tempdbのデータとログファイルで過去1か月に50テラバイトを超えて読み書きされ、累積io_stallが250時間または10日であることを示しています。
過去2年間、ベンダーのコードとSPはすでに調整されています。
現在、大量のメモリがあるため、tempdbファイルをRAMドライブに配置することを考えています。tempdbはサーバーの再起動時に破壊/再作成されるため、サーバーの再起動時にフラッシュされる揮発性メモリに配置するのが理想的です。
低い環境でこれをテストしましたが、CPUが遅いtempdbドライブで待機するのではなく、より多くの作業を行っているため、クエリ時間は短縮されましたが、CPU使用率が増加しました。
他の誰かが、高oltp本番システムのtempdbをRAMに配置しましたか?大きな欠点はありますか?具体的に選択または回避するベンダーはありますか?