मैं इस सेटअप को देख रहा हूँ:
- विंडोज सर्वर 2012
- 1 टीबी एनटीएफएस ड्राइव, 4 केबी क्लस्टर, ~ 90% पूर्ण
- ~ 10M फ़ाइलें 10,000 फ़ोल्डरों में संग्रहीत = ~ 1,000 फ़ाइलें / फ़ोल्डर
- फाइलें ज्यादातर काफी छोटी <50 केबी
- वर्चुअल ड्राइव डिस्क डिस्क पर होस्ट की गई
जब कोई एप्लिकेशन रैंडम फ़ोल्डरों में संग्रहीत फाइलों तक पहुंचता है तो प्रत्येक फाइल को पढ़ने के लिए 60-100 ms लगते हैं। एक परीक्षण उपकरण के साथ ऐसा लगता है कि फ़ाइल खोलने पर विलंब होता है। डेटा पढ़ना तब केवल कुछ समय लेता है।
सारांश में इसका मतलब है कि 50 फ़ाइलों को पढ़ने में आसानी से 3-4 सेकंड लग सकते हैं जो उम्मीद से बहुत अधिक है। लेखन बैच में किया जाता है इसलिए प्रदर्शन यहां कोई मुद्दा नहीं है।
मैंने पहले से ही एसओ और एसएफ को इन नंबरों पर आने के लिए सलाह दी थी।
- प्रति फ़ोल्डर फ़ाइलों की संख्या को कम करने के लिए फ़ोल्डरों का उपयोग करना ( फाइलसिस्टम में एक लाख चित्र संग्रहीत करना )
contig
डीफ़्रेग्मेंट फ़ोल्डर और फ़ाइलों पर चलाएँ ( https://stackoverflow.com/a/291292/1059776 )- 8.3 नाम और अंतिम पहुंच समय अक्षम ( प्रदर्शन के लिए NTFS फ़ाइल सिस्टम कॉन्फ़िगर करना )
पढ़ने के समय के बारे में क्या करना है?
- 60-100 एमएस प्रति फ़ाइल पर विचार करें ठीक है (यह नहीं है, यह है?)
- किसी भी विचार कैसे सेटअप में सुधार किया जा सकता है?
- क्या निम्न-स्तरीय निगरानी उपकरण हैं जो बता सकते हैं कि वास्तव में किस समय पर खर्च किया जाता है?
अपडेट करें
जैसा कि टिप्पणियों में उल्लेख किया गया है कि सिस्टम सिमेंटेक एंडपॉइंट सुरक्षा चलाता है। हालांकि, इसे अक्षम करने से रीड टाइम में बदलाव नहीं होता है।
परफ्यूमॉन प्रति रीड 10-20 एमएस मापता है। इसका मतलब यह होगा कि कोई भी फ़ाइल पढ़ने में ~ 6 I / O रीड ऑपरेशंस, राइट है? क्या यह एमएफटी लुकअप और एसीएल चेक होगा?
एमएफटी का आकार ~ 8.5 जीबी है जो मुख्य मेमोरी से अधिक है।