Filesystems

在 ZFS 上調整電子郵件備份數據集

  • January 15, 2017

我有一個充滿電子郵件備份文件的文件夾(來自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 性能調整。

我最終按照@ewwhite 所說的做了一個快速基準測試。我的結論是128k沒問題。

BlockSize   CompRatio   du-s
1           0           50747244
2           1           26001757
4           1           13487472
8           1.04        12690656
16          1.06        9560063
32          1.08        8011524
64          1.09        7872713
128         1.1         7822344
256         1.11        7804225
512         1.14        7799985
1024        1.16        7801688

在此處輸入圖像描述

我很少更改 ZFS 池的記錄大小。預設值 128K 適用於大多數工作負載。

您可以輕鬆地以不同的記錄大小對此進行基準測試…

如果您關心儲存性能,那麼在其他地方還有更多優化的機會。你有關於作業系統/硬體/要求的詳細資訊嗎?

引用自:https://serverfault.com/questions/826413