-E 启动选项和 SSD

Joh*_*lan 8 sql-server sql-server-2008-r2

有没有人看到-E使用 SSD 时效果的证据?

对“旋转生锈”驱动器的影响是没有争议的——但 SSD 并没有真正被随机 I/O 所困扰。我想知道该-E选项是否会损害性能。

在混合驱动器(SSD SAN、PCI SSD 和传统 SAN)的服务器上,SQL Server 必须在启动时决定是否使用-E。我有一些经验证据表明该选项可能对性能有害,但在我考虑取消它之前,我希望其他人的反馈。

我的设置使用标准的 64K RAID 条带,NTFS 簇大小也是 64K。

Pau*_*ite 3

以下文章探讨了-E启动选项的优点和缺点:

\n\n

关注快速通道:了解 \xe2\x80\x93E 启动参数

\n\n

概括:

\n\n

-E更改比例填充算法。移动发生在分配了 64 个扩展区之后,而不是在单个扩展区分配后移动到下一个文件。

\n\n

这些盘区分配不需要来自单个表。例如,在启用的情况下并行加载两个表时\xe2\x80\x93E,两个表都会消耗单个文件中的 64 个扩展区,然后再移至下一个文件。-E不会改变 SQL Server 一次分配一个区的事实。

\n\n

目的\xe2\x80\x93E是启用大 I/O 预读。如果共享相同文件/文件组的两个表并行加载,则优点\xe2\x80\x93E将被消除。范围将被分段,从而导致小 I/O 预读。

\n\n

-E最初放入代码中是为了允许索引构建和重建在循环之前使用每个文件的 256KB,从而为大型数据仓库获得更好的顺序 I/O。它最初是一个“基准测试专用”,并且几乎没有测试,它只是被记录下来,因为它是在基准测试期间使用的(因此必须被记录)。

\n\n

微软白皮书(pdf)

\n\n

根据 @Kin 对问题的评论生成的社区 Wiki 答案

\n