SQL Server の tempdb のチューニングとして、次のような考え方があります。
- tempdb のデータファイルを CPU の論理コア数に分割する
- 各データファイルのサイズ / 自動拡張サイズを均等にする
- SQL Server 2014 以前のバージョンであれば、-T1117 / -T1118 を使用し、データファイルの同時拡張並びに単一エクステントを利用
- tempdb はグローバルリソースとなるため高速なディスクに配置する
日本語の情報としては、DO’s&DONT’s #17: やっておいた方がいいこと – tempdb データファイル数を CPU 数に一致させる が有名ではないでしょうか。
昨今の CPU は 1 ソケットで、40 物理コア / HT 80 論理コアのモデルもあり、複数ソケットを使用すると 100 コアを超える環境も出てきます。
そのような Many Core 時代でも tempdb のデータファイルの分割は「論理 CPU コア数」で行うべきでしょうか?
本投稿では現在の tempdb のデータファイルの分割について触れたいと思います。