看nginx的proxy_cache和fastDFS他們存盤檔案的時候,都是先新建了256個檔案夾,如下:
00 01 02 .... 0F
10 11 12 .... 1F
.....
F0 F1........... FF
每個檔案夾下面又有256個這樣的檔案夾,然后存檔案的時候,把檔案名處理之后,從前往后依次存盤。這樣做有什么好處么?
猜想應該有如下幾種可能:
1.每個檔案夾所承受的檔案句柄數是有限的,通常是65535,為了避免小檔案過多,造成無法在同一個檔案夾下存盤;
2.對每一個需要進行存盤的檔案進行了hash或者其他特殊的運算,存和取都按特定規則,方便取檔案的時候進行查找;
3.每一個檔案夾的起始位置對磁盤進行了對齊,提高讀取效率。
求請大神門幫忙解釋一下,尤其是不是有第2、3種可能。
uj5u.com熱心網友回復:
1和2是對的uj5u.com熱心網友回復:
如果是有hash的成分,但是檔案分布又很集中,17個檔案,共175M都分布在00/00的目錄下,其他目錄一個都沒有。我也并不是在同一天上傳的。分了幾天上傳的。
uj5u.com熱心網友回復:
是726M說錯了。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/139875.html
標籤:CDN
上一篇:python背單詞小程式
