如果所有 LUN 都来自同一个 RAID 池,是否有必要将 tempdb 文件移动到不同的磁盘驱动器?

Rau*_*DBA 5 sql-server tempdb virtualisation sql-server-2014 raid

根据最佳实践,建议将所有tempdb(不仅仅是 tempdb)文件移动到不同的物理磁盘中。

我有一个虚拟服务器,最初有来自同一RAID 10池的 4 个 LUN。在卷管理器的帮助下,我将这 4 个 LUN 转换为 4 个不同的卷。

现在的问题是,移动tempdb到单独的卷中是否会产生任何影响,或者就性能而言,将它们与其他 SQL Server 文件保留在一起就可以了?

Dav*_*oft 4

有几个潜在的好处。

  1. 限制 TempDb 增长
  2. 使磁盘级性能计数器提供更多信息。
  3. 分离 IO 队列,以便日志写入 IO 永远不会在 Windows 中的 TempDB IO 后面等待。
  4. 简化 Windows 和 SAN 中的存储重新配置。
  5. 跨 SAN 控制器进行扩展并启用每 lun SAN 优化。

  • Windows 中可能存在按磁盘 IO 队列。EG 如果有 32 个未完成的 IO 发送到驱动程序,Windows 可能会等待发送更多,直到一些未完成的 IO 完成。因此,如果一组 TempDb IO 位于同一磁盘上,则日志写入可能会被卡住。不能保证发送所有 IO 会更好,但很有可能日志写入可以在 SAN 控制器上进行写入缓存,并且实际上不会等待磁盘。 (2认同)