因此,根据 glen berry 提供的脚本,我继承了一个存在严重写入延迟问题的服务器,我还注意到 tempdb 文件分布在多个驱动器上。
将 Tempdb.ndf 文件放在不同的驱动器上有什么好处?有没有?最高延迟也来自托管这些 tempdb 文件的驱动器
因此,根据 glen berry 提供的脚本,我继承了一个存在严重写入延迟问题的服务器,我还注意到 tempdb 文件分布在多个驱动器上。
将 Tempdb.ndf 文件放在不同的驱动器上有什么好处?有没有?最高延迟也来自托管这些 tempdb 文件的驱动器
当数据库中有多个数据文件时,根据文件所具有的可用空间占所有文件的总可用空间的比例,对数据库的所有写入都分布在所有文件中。现在,每个数据文件都有自己的一组分配页面(称为 PFS、GAM 和 SGAM 页面),因此当写入从一个文件移动到另一个文件时,页面分配发生在不同的分配位图页面,将工作分散到文件中并减少任何单个页面上的争用。这将是你的好处。
同样重要的因素是其中有多少。作为一般建议,它应该基于您在服务器上拥有的逻辑处理器。因此,对于 8 个或更少的处理器,保持数量等于处理器。对于更多起点应为 8,然后根据测试或争用问题增加 1。
同样对于写入延迟,您可能需要与您的存储团队核实您环境中可接受数量的阈值是多少。为了更快的临时数据库,我们在外部环境中将它们保存在 SSD 上,并确保日志文件与数据文件分开在不同的驱动器上。
另外作为旁注,这些延迟数可能会或可能不会成为问题,具体取决于您现在看到的性能的性质。
另外,如果您使用的是运行 2014 或更低版本的 sql,我建议检查跟踪标志 1117 和 1118。从 2016 年起默认启用