我有一个文件夹,里面装满了电子邮件备份文件(来自 offlineimap)。其中一个文件夹有 87k 个文件,其中 68k 个文件大小在 512-1024 字节之间。(这个文件夹非常具有代表性。)整个大小分布如下:
Size bin % by count % by space
512 0.08% 0.00%
1024 77.37% 74.58%
2048 1.65% 1.62%
4096 3.92% 4.05%
8192 6.11% 6.78%
16384 3.68% 4.25%
32768 3.07% 3.66%
65536 1.77% 2.15%
131072 0.75% 0.92%
262144 0.36% 0.44%
524288 0.33% 0.41%
1048576 0.30% 0.37%
2097152 0.21% 0.27%
4194304 0.20% 0.25%
8388608 0.11% 0.14%
16777216 0.08% 0.10%
我的问题是:这些数据的最佳记录大小是多少?我倾向于认为是 1k,但这比正常推荐的值小得多,而且我担心元数据的开销。
我读过几篇涉及这个问题的文章,但没有得出任何结论。例如,一篇文章检查使用小于平均文件的记录大小的存储效率。他的平均最小文件大小为 128k,他发现使用压缩后,随着块大小从 512 增加到 128k,存储效率会提高,但他没有测试大于他的文件的块大小,因此整体趋势并不明显。
另一本好书是这个reddit帖子描述了记录和块大小之间的差异,并深入研究了 SSD 性能调整。
答案1
答案2
我很少更改 ZFS 池上的记录大小。默认值 128K 适合大多数工作负载。
您可以轻松地以不同的记录大小对此进行基准测试......
如果您关心的是存储性能,那么还有更多机会在其他地方进行优化。您有关于操作系统/硬件/要求的详细信息吗?