为 sql server 选择正确的存储块大小

r0t*_*0tt 6 sql-server storage size

有很多关于 sql server 应该使用多大的存储块大小的文章,例如SQL Server 的磁盘分区对齐最佳实践。正确的块大小应该可以提高 sql server 数据库的性能。我正在寻找建议和方法来确定适合数据库的存储块大小。是否有关于如何确定合适的块大小的指南?

spa*_*dba 6

该方法是您在问题中链接的文章中使用的方法:测试它。您可以为您的应用程序/数据库捕获具有代表性的工作负载,并在具有不同集群大小的服务器上重放该工作负载。您会发现 SQL Sever 最适合 64KB 集群,因为它从磁盘读取数据的方式(预读)。

但是,您不必这样做:设置 64KB 集群大小是既定的最佳实践,正如您所参考的文章中明确指出的那样。从文章:

SQL Server 推荐的文件分配单元大小(簇大小)为 64 KB;这反映在图 4 中。

如果您决定测试不同集群大小下的性能,您可能会发现差异可以忽略不计,尤其是在高端存储系统上。


Tho*_*len 5

64K 块大小来自这样一个事实:SQL Server 以称为“范围”的单位进行 I/O,每个范围为 8 个页,一个页为 8K,因此 I/O 的基本单位是 8 X 8K = 64K。

保罗兰德尔在这里解释。