में 10 मिलियन फ़ाइलों को संग्रहीत और एक्सेस करना मैं एक ऐप लिख रहा हूं जिसमें लगभग 10 मिलियन तक की कई फाइलों को स्टोर करने की आवश्यकता है।लिनक्स
वर्तमान में उन्हें यूयूआईडी के साथ नामित किया गया है और वे प्रत्येक 4 एमबी के आसपास होने जा रहे हैं लेकिन हमेशा एक ही आकार के होते हैं। इन फ़ाइलों से/पढ़ने और लिखना हमेशा अनुक्रमिक होगा।
2 मुख्य सवाल है मैं के लिए जवाब की तलाश कर रहा हूँ:
1) कौन सा फाइल सिस्टम इसके लिए सबसे अच्छा होगा। एक्सएफएस या ext4? 2) क्या एक निर्देशिका में फ़ाइलों की संख्या को कम करने के लिए उपनिर्देशिका के नीचे फ़ाइलों को स्टोर करना आवश्यक होगा?
प्रश्न 2 के लिए, मुझे लगता है कि लोगों ने एक ही निर्देशिका में संग्रहीत फ़ाइलों की संख्या के लिए XFS सीमा को खोजने का प्रयास किया है और लाखों से अधिक की सीमा नहीं मिली है। उन्होंने कोई प्रदर्शन समस्या नहीं देखी। Ext4 के तहत क्या?
इसी तरह की चीजों को करने वाले लोगों के साथ घूमते हुए, कुछ लोगों ने प्रदर्शन के लिए फ़ाइल नाम के बजाय फ़ाइल के लिंक के रूप में इनोड नंबर को संग्रहीत करने का सुझाव दिया (यह एक डेटाबेस इंडेक्स में है जिसे मैं भी उपयोग कर रहा हूं)। हालांकि, मुझे इनोड नंबर द्वारा फ़ाइल खोलने के लिए उपयोग करने योग्य API नहीं दिखाई देता है। ऐसा लगता है कि ext3 के तहत प्रदर्शन में सुधार के लिए एक सुझाव है जो मैं रास्ते में उपयोग करने का इरादा नहीं रख रहा हूं।
ext4 और XFS सीमाएं क्या हैं? एक दूसरे से क्या प्रदर्शन लाभ हैं और क्या आप मेरे मामले में एक्सएफएस पर ext4 का उपयोग करने का कारण देख सकते हैं?
उदा। देखें http://lwn.net/Articles/400629/ – nos