在 ZFS 上調整電子郵件備份資料集

在 ZFS 上調整電子郵件備份資料集

我有一個充滿電子郵件備份文件的資料夾(來自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

我最終按照 @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

在此輸入影像描述

答案2

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

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

如果您關心儲存效能,那麼還有更多機會在其他地方進行最佳化。您有作業系統/硬體/需求的詳細資料嗎?

相關內容