खराब NTFS प्रदर्शन


21

ऐसा क्यों है कि NTFS प्रदर्शन, उदाहरण के लिए, Linux / ext3 की तुलना में बहुत घटिया है? सबसे अधिक बार मैं इसे तोड़फोड़ से (बड़े) स्रोत पेड़ों की जाँच करते समय देखता हूं। एनटीएफएस पर चेकआउट में लगभग 10-15 मिनट लगते हैं, जबकि लिनक्स पर (लगभग समान हार्डवेयर पर) चेकआउट तेजी से (1 - 1.5 मिनट) तीव्रता का क्रम लेता है।

हो सकता है कि यह बहुत सी छोटी फ़ाइलों को संभालने के लिए विशिष्ट हो और बड़ी फ़ाइलों की बात आने पर NTFS बेहतर हो, लेकिन ऐसा क्यों होना चाहिए? सामान्य रूप से विंडोज प्रदर्शन के लिए छोटी फाइलों के लिए NTFS के प्रदर्शन में सुधार बेहतर नहीं होगा?

संपादित करें: इसका मतलब "एक्सट्रीम 3 की तुलना में एनटीएफएस बेकार" भड़काऊ प्रश्न नहीं है; मैं वास्तव में इस बात में दिलचस्पी रखता हूं कि NTFS कुछ मामलों में खराब प्रदर्शन क्यों करता है। क्या यह सिर्फ खराब डिज़ाइन है (जो मुझे संदेह है), या क्या अन्य मुद्दे हैं जो खेल में आते हैं?


4
शायद यह फिर से शुरू किया जा सकता है ताकि आप पूछ रहे हैं कि NTFS के प्रदर्शन में सुधार कैसे किया जाए, जब बहुत सी छोटी फाइलों से निपटना हो, बजाय यह पूछने के कि NT3 एक्स 3 की तुलना में बेकार क्यों है?
18

@ क्रिस से सहमत हूं, यह प्रश्न जैसा है वैसा ही व्यर्थ है।
साशा चेडेगोव

4
खैर, मैं वास्तव में दिलचस्पी रखता हूं कि NTFS क्यों बुरा प्रदर्शन कर रहा है। यदि उत्तर "एक्स को तेज करने के लिए" है, तो बहुत अच्छा है, लेकिन मैं समस्या को समझने के लिए तय करूंगा।
जेसपेरे 19

आह, ठीक है, आपको गलत समझने के लिए क्षमा करें।
साशा चोडगोव

2
BTW जब आप एक विंडोज़ मशीन पर SVN का उपयोग कर रहे थे, क्या उस मशीन में रियल-टाइम सुरक्षा सक्षम करने वाला वायरस स्कैनर था? यह बुरा हो सकता है।
dlamblin

जवाबों:


35

एनटीएफएस में इस चीज को मास्टर फाइल टेबल कहा जाता है । जब आप इसके बारे में पढ़ते हैं तो यह वास्तव में अच्छा लगता है।

आप देख सकते हैं कि ext3 लगभग 95% डिस्क उपयोग के लिए ठीक करता है, जबकि MFT के अस्तित्व का मतलब है कि NTFS वास्तव में नहीं चाहता है कि आप अपनी डिस्क का 90% से अधिक उपयोग करें। लेकिन मुझे लगता है कि यह आपकी समस्या नहीं है, और यह कि आपकी समस्या कई छोटी फाइलों पर कई ऑपरेशनों के साथ है।

यहां एक अंतर यह है कि जब आप एक छोटी फ़ाइल बनाते हैं तो क्या होता है। यदि कोई फ़ाइल किसी ब्लॉक आकार से छोटी है, तो उसे स्वयं ब्लॉक नहीं लिखा जाता है, बल्कि MFT में संग्रहीत किया जाता है। यह अच्छा है अगर फ़ाइल बिल्कुल वैसी ही बनी रहे जैसे कि बनाई गई थी। व्यवहार में, इसका मतलब है कि जब svn इसे बनाने के लिए किसी फ़ाइल को छूता है, तो उस फ़ाइल में जुड़ जाता है, इसे हटा देता है, या इसे केवल अपने ही ब्लॉक में स्थानांतरित करने के लिए पर्याप्त नहीं द्वारा संशोधित करता है, ऑपरेशन बहुत धीमा है। इसके अलावा बस बहुत सी छोटी फाइलों को पढ़ने से एमएफटी पर कुछ तनाव होता है जहां वे सभी रहते हैं, प्रति ब्लॉक गुणक के साथ। यह ऐसा क्यों करेगा? यह प्रारंभिक रूप से विखंडन से बच रहा है और अधिक प्रभावी ढंग से ब्लॉकों का अधिक उपयोग कर रहा है, और सामान्य तौर पर यह एक अच्छी बात है।

इसके विपरीत ext2 और 3 में, हर फ़ाइल के लिए फ़ाइल ब्लॉक को उस स्थान के बगल में संग्रहीत किया जाता है जहाँ निर्देशिका मेटाडेटा उस निर्देशिका के लिए है (जब संभव हो, यदि आपकी डिस्क अप्रतिबंधित है और आपके पास लगभग 20% रिक्त स्थान है)। इसका मतलब यह है कि जैसा कि svn निर्देशिकाओं को खोल रहा है, कई ब्लॉक मूल रूप से आपके ड्राइव पर उस 16mb कैश में मुफ्त में कैश हो जाते हैं, और फिर फिर से कर्नेल के कैश में। उन फ़ाइलों में .svn फ़ाइल और आपके अंतिम अद्यतन के लिए संशोधन फ़ाइलें शामिल हो सकती हैं। यह आसान है क्योंकि संभवत: उन फ़ाइलों में से कुछ हैं जिन्हें svn आगे देख रहा है। एनटीएफएस ऐसा करने के लिए नहीं मिलता है, हालांकि एमएफटी के बड़े हिस्से को सिस्टम में कैश किया जाना चाहिए, वे वे हिस्से नहीं हो सकते हैं जिन्हें आप आगे चाहते हैं।


2
आप सही हैं कि यह वह जगह है जहां छोटी फाइलें रहती हैं, लेकिन मुझे यकीन नहीं है कि यह एमएफटी पर तनाव क्यों डालना चाहिए। क्या इन फ़ाइलों को पढ़ना कहीं अधिक आसान नहीं होगा, जैसा कि आप सभी हैं, लेकिन जब आप इनमें से किसी को भी खींचते हैं तो इन फ़ाइलों को कैश में खींचने की गारंटी होती है?
क्रिसइंमॉन्टनॉन

1
@ChrisInEdmonton यह MFT के लिए अपडेट है जो इसे तनाव देता है, क्योंकि आप उन ब्लॉकों को नहीं छू रहे हैं जहां पड़ोसी स्थान उपलब्ध है, आप घूमने वाली चीजों को समाप्त करते हैं और एमएफटी के कैश्ड भागों को भी अमान्य कर रहे हैं। मैं आपको अनुदान दूंगा कि MFT को छोटी फ़ाइलों को संभालने का एक बहुत तेज़ तरीका होना चाहिए। यह सिर्फ अभ्यास में सहन नहीं करता है।
dlamblin

6

ठीक है, आपकी विशेष समस्या है क्योंकि

  1. तोड़फोड़ खुद यूनिक्स दुनिया से आता है, विंडोज संस्करण इसलिए समान प्रदर्शन विशेषताओं को मानता है।
  2. एनटीएफएस का प्रदर्शन वास्तव में छोटी फाइलों की गजलों से अच्छा नहीं है।

आप जो देख रहे हैं, वह उस ऑपरेटिंग सिस्टम पर प्रदर्शन मान्यताओं के साथ किसी विशेष ऑपरेटिंग सिस्टम के लिए डिज़ाइन की गई चीज़ की एक कलाकृति है। यह आमतौर पर बुरी तरह से टूट जाता है, जब अन्य प्रणालियों में ले जाया जाता है। अन्य उदाहरण फोर्किंग बनाम थ्रेडिंग होंगे। UNIX- पसंद परम्परागत तरीके से किसी चीज को पार करने के लिए बस एक और प्रक्रिया को स्पॉन करना है। विंडोज पर, जहां प्रक्रियाओं को शुरू होने में कम से कम पांच गुना अधिक समय लगता है, यह वास्तव में बुरा विचार है।

सामान्य तौर पर, आप किसी विशेष OS के किसी भी कलाकृतियाँ को किसी अन्य व्यक्ति को विशाल भिन्न वास्तुकला के साथ प्रदान करने के लिए नहीं ले सकते। यह भी मत भूलो कि NTFS में कई फाइल सिस्टम सुविधाएँ हैं जो उस बिंदु पर उपयोग में व्यापक रूप से UNIX फाइल सिस्टम में अनुपस्थित थीं, जैसे कि जर्नलिंग और एसीएल। वे चीजें लागत पर आती हैं।


किसी दिन, जब मेरे पास बहुत सारा खाली समय होता है, तो मैं एक SVN फाइलसिस्टम मॉड्यूल लिखने की योजना बना रहा था, जो NTFS पर आपके द्वारा ली जाने वाली सुविधाओं का लाभ उठाता है, जैसे कि लेन-देन समर्थन ("लाखों फाइलों को छूने का मुद्दा खत्म करना चाहिए") और वैकल्पिक डेटा धाराएँ (अलग .svnनिर्देशिका की आवश्यकता को समाप्त करना चाहिए )। यह एक अच्छी बात होगी, लेकिन मुझे संदेह है कि SVN के देवता भविष्य में ऐसी चीजों को लागू करने के लिए तैयार हो जाएंगे।

साइड नोट: एक बड़े SVN रिपॉजिटरी पर एक सिंगल अपडेट जो मैं उपयोग कर रहा हूं, वह लगभग 250,000 फ़ाइल ऑपरेशनों में लिया गया है। कुछ छोटी आवाज मुझे बताती है कि यह वास्तव में बदल गई 24 फाइलों के लिए है ...


1
लेकिन छोटी फाइलों के गजिल के साथ काम करते समय NTFS का प्रदर्शन खराब क्यों होता है? क्या कुछ और पाने के लिए उसे बलिदान देना पड़ा?
जेसपेरे 19

3

यहाँ Microsoft की जानकारी है कि NTFS कैसे काम करता है। यह आप के लिए क्या देख रहे हैं के लिए overkill हो सकता है, लेकिन यह अध्ययन NTFS के साथ क्या परिदृश्यों पर कुछ प्रकाश डाला जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.