在尝试调查 SQL Server 数据库的一些性能问题时,我注意到 ASYNC_IO_COMPLETION 和 PAGEIOLATCH_* 的等待统计信息似乎很高。在资源监视器中,我注意到 tempDB 经常(每小时至少 1 次)读取/写入大量数据,总计(B/秒)范围为 5GB - 25GB。
tempDB 位于与数据库和日志文件不同的虚拟磁盘上。TempDB 大小为 4 GB。我们的主数据库和日志文件各为 40GB。我已经尝试为此研究性能计数器,但找不到任何我能理解的东西来弄清楚为什么我会得到某些数字。
通过资源监视器,tempDB 的总数据如此之高是不是很不寻常?我们的主数据库每天仅增长约 50MB。我应该寻找什么来找出导致 tempDB 上如此高数据的原因以及这是否导致 I/O 瓶颈?如果最好的方法是使用特定的 perfmon 计数器,我应该查看哪些计数器以及哪些值是好的或坏的?