मैं एक एप्लिकेशन लिख रहा हूं जो बहुत सारी और बहुत सारी फ़ाइलों को संग्रहीत करता है हालांकि मेरा बड़ा है और मेरे पास 10 मिलियन हैं जो मैं कई निर्देशिकाओं में विभाजित कर रहा हूं।
ext3 मुख्य रूप से डिफ़ॉल्ट "लिंक्ड सूची" कार्यान्वयन के कारण धीमा है। इसलिए यदि आपके पास एक डायरेक्टरी में बहुत सारी फाइलें हैं, तो इसका मतलब है कि दूसरा खोलना या बनाना धीमा और धीमा होने वाला है। कुछ ऐसा है जिसे htree इंडेक्स कहा जाता है जो ext3 के लिए उपलब्ध है जो कथित तौर पर चीजों में बहुत सुधार करता है। लेकिन, यह केवल फाइल सिस्टम निर्माण पर उपलब्ध है। यहां देखें: http://lonesysadmin.net/2007/08/17/use-dir_index-for-your-new-ext3-filesystems/
चूंकि आप वैसे भी फाइलसिस्टम का पुनर्निर्माण करने जा रहे हैं और एक्स 3 सीमाओं के कारण, मेरी सिफारिश है कि आप एक्सटी 4 (या एक्सएफएस) का उपयोग करके देखें। मुझे लगता है कि ext4 छोटी फाइलों के साथ थोड़ा तेज है और इसमें तेजी से पुनर्निर्माण है। जहाँ तक मुझे पता है Htree index ext4 पर डिफ़ॉल्ट है। मुझे वास्तव में JFS या Reiser के साथ कोई अनुभव नहीं है लेकिन मैंने सुना है कि लोग इससे पहले सलाह देते हैं।
वास्तव में, मैं शायद कई फाइल सिस्टम का परीक्षण करूँगा। क्यों नहीं ext4, xfs और jfs की कोशिश करें और देखें कि कौन सा सर्वश्रेष्ठ समग्र प्रदर्शन देता है?
कुछ ऐसा है जो एक डेवलपर ने मुझे बताया कि एप्लिकेशन कोड में चीजों को गति दे सकता है, एक "स्टेट + ओपन" कॉल नहीं करना है, बल्कि "ओपन + फॉस्ट" है। पहला दूसरे की तुलना में काफी धीमा है। यकीन नहीं होता अगर आपका उस पर कोई नियंत्रण या प्रभाव है।
स्टैकओवरफ़्लो पर मेरी पोस्ट यहाँ देखें।
लिनक्स में 10 मिलियन फाइलों तक भंडारण और पहुंच,
वहां कुछ बहुत उपयोगी उत्तर और लिंक हैं।