संदर्भ हमारे पास एक होमग्राउन फाइल सिस्टम-बैक कैशिंग लाइब्रेरी है। बड़ी संख्या में प्रविष्टियों (उदाहरण के लिए 100,000) के कारण वर्तमान में हमारे पास एक स्थापना के साथ प्रदर्शन समस्याएं हैं। समस्या: हम सभी fs प्रविष्टियों को एक "कैश निर्देशिका" में संग्रहीत करते हैं। बहुत बड़ी निर्देशिका खराब प्रदर्शन करते हैं।एनटीएफएस निर्देशिका में 100 के प्रविष्टियां हैं। 100 उपनिर्देशिकाओं में फैले हुए प्रदर्शन में कितना प्रदर्शन बढ़ता है?
हम उन प्रविष्टियों को उपनिर्देशिकाओं पर फैलाने की सोच रहे हैं - जैसे कि गिट करता है, उदा। ~ 1,000 प्रविष्टियों के साथ 100 उपनिर्देशिकाएं।
सवाल
मैं समझता हूँ कि छोटे निर्देशिका आकार फाइल सिस्टम का उपयोग के साथ मदद मिलेगी।
लेकिन "सभी निर्देशिकाओं में फैल जाएगा" सभी प्रविष्टियों को पार करने की गति, उदा। सभी 100,000 प्रविष्टियों को समझा/पढ़ना? अर्थात। जब हम एफएस स्टोर से कैश को प्रारंभ/गर्म करते हैं, तो हमें सभी 100,000 प्रविष्टियों (और पुरानी प्रविष्टियों को हटाने) को 10+ मिनट लग सकते हैं।
"डेटा फैलाना" इस "ट्रैवर्सल टाइम" को कम करेगा। इसके अतिरिक्त यह "ट्रैवर्सल" वास्तव में पुरानी प्रविष्टियों को हटा सकता है (उदा। एन दिनों के बाद पुराना) क्या "डेटा फैलाना" हटाना समय सुधार जाएगा?
अतिरिक्त संदर्भ -NTFS -Windows परिवार ओएस (सर्वर 2003, 2008)
-Java J2ee आवेदन।
मैं/हम फाइल सिस्टम स्केलेबिलिटी मुद्दों पर किसी भी स्कूली शिक्षा की सराहना करेंगे।
अग्रिम धन्यवाद।
होगा
पी.एस. मुझे टिप्पणी करनी चाहिए कि मेरे पास यह परीक्षण करने के लिए उपकरण और क्षमता है, लेकिन मुझे लगा कि मैं सिद्धांत और अनुभव के लिए हाइव दिमाग चुनूंगा।
क्या आपने फ़ाइल सिस्टम को ट्यून करने का प्रयास किया है?उदाहरण के लिए, लघु फ़ाइल नाम अक्षम करना? –