सवाल नेटवर्क अब डिस्क से तेज हैं?


यह एक सॉफ्टवेयर डिजाइन सवाल है

मैं गति के लिए निम्नलिखित नियम पर काम करता था

cache memory > memory > disk > network

प्रत्येक चरण पिछले चरण के 5-10 गुना होने के साथ (उदाहरण के लिए कैश मेमोरी मुख्य स्मृति से 10 गुना तेज है)।

अब, ऐसा लगता है कि गीगाबिट ईथरनेट में स्थानीय डिस्क से विलंबता कम है। तो, हो सकता है कि बड़े रिमोट इन-मेमोरी डीबी से बाहर पढ़ने के लिए ऑपरेशंस स्थानीय डिस्क पढ़ने से तेज़ी से हो। यह मेरे जैसे पुराने टाइमर के लिए पाखंडी जैसा लगता है। (मैंने बस नेटवर्क राउंड ट्रिप करने से बचने के लिए डिस्क पर स्थानीय कैश बनाने में कुछ समय बिताया - इसलिए मेरा प्रश्न)

क्या इस क्षेत्र में किसी के पास कोई अनुभव / संख्या / सलाह है?

और हां, मुझे पता है कि पता लगाने और मापने का एकमात्र असली तरीका है, लेकिन मैं सामान्य नियम के बारे में सोच रहा था।

संपादित करें:

यह शीर्ष उत्तर से दिलचस्प डेटा है:

  • एक ही डेटासेंटर 500,000 एनएस के भीतर दौर यात्रा

  • डिस्क 10,000,000 एनएस की तलाश है

यह मेरे लिए एक झटका है; मेरा मानसिक मॉडल यह है कि एक नेटवर्क दौर यात्रा स्वाभाविक रूप से धीमी है। और इसकी नहीं - एक डिस्क 'राउंड ट्रिप' से इसकी 10x तेज है।

जेफ अटवुड ने विषय पर इस वी अच्छा ब्लॉग पोस्ट किया http://blog.codinghorror.com/the-infinite-space-between-words/


118
2018-02-21 23:46


मूल


कभी-कभी हां, कभी-कभी नहीं। क्या नेटवर्क? क्या डिस्क? - John Gardeniers
शीर्ष उत्तर से अन्य दिलचस्प डेटा: नेटवर्क बनाम डिस्क से 1 एमबी अनुक्रमिक पढ़ें। मुझे संदेह है कि "राउंड ट्रिप" समय किसी भी महत्वपूर्ण डेटा स्थानांतरण को छोड़ देता है। - Paul
पॉल: आपके एमटीयू पर निर्भर करता है, मुझे यकीन है। (1 एमबी एमटीयू? बहुत बढ़िया!) - Matt Simmons
मुझे 10 जीबीपीएस नेटवर्क गियर के प्रकाश में व्यापक रूप से उपलब्ध होने के प्रकाश में पुनर्विचार किए गए इन उत्तरों में से कुछ को देखना अच्छा लगेगा। - chicks
गीगाबिट नेटवर्क बनाम RAID 5? - SoilSciGuy


जवाब:


Google फेलो के जेफ डीन द्वारा उद्धृत किए गए कुछ नंबर यहां आप शायद खोज रहे हैं:

नंबर हर किसी को पता होना चाहिए

L1 cache reference                             0.5 ns
Branch mispredict                              5 ns
L2 cache reference                             7 ns
Mutex lock/unlock                            100 ns (25)
Main memory reference                        100 ns
Compress 1K bytes with Zippy              10,000 ns (3,000)
Send 2K bytes over 1 Gbps network         20,000 ns
Read 1 MB sequentially from memory       250,000 ns
Round trip within same datacenter        500,000 ns
Disk seek                             10,000,000 ns
Read 1 MB sequentially from network   10,000,000 ns
Read 1 MB sequentially from disk      30,000,000 ns (20,000,000)
Send packet CA->Netherlands->CA      150,000,000 ns

यह शीर्षक उनकी प्रस्तुति से है बड़ी वितरित प्रणालियों के निर्माण से डिजाइन, सबक और सलाह और आप इसे यहां प्राप्त कर सकते हैं:

बात दी गई थी बड़े पैमाने पर वितरित सिस्टम और मिडलवेयर (एलएडीआईएस) 200 9

अन्य सूचना


यह कहा गया जीसीसी-ओ 4 आपके कोड को जेफ डीन को फिर से लिखने के लिए ईमेल करता है।



127
2018-02-22 07:38



+1 बहुत दिलचस्प है! - 9dan
कुछ प्रस्तुतियों में ब्रैकेट में संकेतित विभिन्न मान होते हैं। मुझे लगता है कि ब्रैकेट में से एक गलत था और उसने मूल्यों को अपडेट किया। - David d C e Freitas
क्या यह सब प्री-एसएसडी युग है? देख यहाँ आगे की तारीखों के लिए। - matt
मैं वास्तव में इन संख्याओं का निर्माण करने के लिए उपयोग किया प्रस्तुतिकरण दिखा रहा है कि क्यों एसएसडी ड्राइव खुद के लिए भुगतान करते हैं, हमारे कार्यालय प्रबंधक को मनाने के लिए कि हाँ हमें काम करने के लिए तेज मशीनों की आवश्यकता है। तकनीकी जानकारी के लिए संख्या शामिल की गई लेकिन इसे यथासंभव गैर-तकनीकी प्रबंधन की दिशा में तैयार किया गया। - brichins


जब नेटवर्क बनाम डिस्क की बात आती है तो बहुत सारे चर होते हैं, लेकिन सामान्य रूप से, डिस्क तेज होती है।

सैटा 3.0 और एसएएस बसें 6 जीबीपीएस हैं, बनाम एक नेटवर्क 1 जीबीपीएस शून्य प्रोटोकॉल ओवरहेड। RAID-10 15k SAS के साथ, नेटवर्क कुत्ते को धीमा लग रहा है। इसके अतिरिक्त, आपके पास डिस्क कैश है और परिस्थिति के आधार पर ठोस स्थिति हार्डड्राइव की संभावना भी गति को बढ़ा सकती है। यादृच्छिक बनाम अनुक्रमिक डेटा पहुंच एक कारक, साथ ही साथ ब्लॉक आकार भी चलाता है जिसमें डेटा स्थानांतरित किया जा रहा है। यह सब उस एप्लिकेशन पर निर्भर करता है जिसका उपयोग डिस्क तक पहुंचने के लिए किया जा रहा है।

अब, मैंने इस तथ्य पर भी स्पर्श नहीं किया है कि जो भी आप नेटवर्क पर ले जा रहे हैं वह वैसे भी डिस्क से या आने जा रहा है ... तो ....... फिर, डिस्क तेज है।


19
2018-02-22 01:41



RAID का उल्लेख करने के लिए अंक जो आपको समांतर पढ़ता है, कुछ ऐसा जो आपको किसी भी समय नेटवर्क पर आने की संभावना नहीं है। बेशक, अगर हम स्थानीय लैपटॉप हार्ड ड्राइव के बारे में बात कर रहे हैं, तो फास्ट सैन और फास्ट नेटवर्क का कॉम्बो तेजी से तेज हो सकता है। विशेष रूप से उस SAN में एसएसडी के साथ। - Michael Dillon
नेटवर्क स्वाभाविक रूप से समांतर हैं - आप किसके बारे में बात कर रहे हैं? कुल मिलाकर नेटवर्क पर कई प्रणालियों से पढ़ने के लिए यह अविश्वसनीय रूप से तुच्छ है; हडोप और एमपीआई जैसे सिस्टम के पीछे यह संपूर्ण बिंदु है, स्पष्ट बिटटोरेंट का उल्लेख नहीं करना। - jgoldschrafe
सोनेट / एसडीएच के साथ आप 38 जीबीपीएस एसएएस की तुलना में अभी भी तेज हो सकते हैं। और नेटवर्क एकत्रीकरण कुछ के साथ किया जा सकता है en.wikipedia.org/wiki/Link_aggregation - Mircea Vutcovici
@ जेक 6 जीबीपीएस के बारे में बात करते समय, आप इंटरफ़ेस बैंडविड्थ और उस दर पर स्पष्ट अंतर बनाना चाहते हैं जिस पर डिस्क वास्तव में डेटा की आपूर्ति कर सकती है। - NPE
मैंने अपने प्रश्न में कहा था कि मैं डिस्क कैश पर स्थानीय की तुलना में स्मृति डेटाबेस में रिमोट के बारे में बात कर रहा था - pm100


खैर, यह इस बात पर निर्भर करता है कि नेटवर्क संसाधन में वह डेटा है जिसे आप आसानी से उपलब्ध कर रहे हैं (स्मृति या समान में) या यदि यह बदले में, डिस्क से इसे पढ़ेगा।

किसी भी मामले में, कुछ मामलों में थ्रूपुट अधिक हो सकता है लेकिन मेरा मानना ​​है कि विलंबता अधिक होगी।


10
2018-02-21 23:51



आपका मतलब है कि डिस्क पर समय तलाशना 10 जीबी / एस अनुरोध से बड़ा है? - Mircea Vutcovici
@ मिर्सिया, उनका मतलब है कि 10 जीबी नेटवर्क को कहीं से इसका डेटा प्राप्त करना है, इसलिए यह उस स्रोत की विलम्ब तक सीमित होगा, साथ ही नेटवर्क की विलंबता भी सीमित होगी। - Chris S
भंडारण एक रैम डिस्क हो सकता है। देख: en.wikipedia.org/wiki/Solid-state_drive#DRAM-based - Mircea Vutcovici


आईएमएक्स डिस्क अभी भी तेज है। नेटवर्क की सैद्धांतिक हस्तांतरण दर बहुत अधिक है लेकिन व्यवहार में आप इसके करीब नहीं आते हैं।

लगभग दो साल पहले मुझे अपने लैपटॉप पर हार्ड ड्राइव परेशानी थी और डीएमए बाहर चला गया। इसने हार्ड ड्राइव को नाटकीय रूप से धीमा कर दिया, और विशेष रूप से नेटवर्क की तुलना में धीमी गति से। लेकिन जब मैं किसी अन्य कंप्यूटर पर स्विच करता था तो मैं इंटरनेट की तुलना में एचडीडी की अपनी मूल स्थिति में वापस आ गया था।


2
2018-02-21 23:50





गीगाबिट नेटवर्क के साथ मेरा अनुभव सही सर्वर दिया गया है, कि आप थ्रूपुट और विलंबता के संदर्भ में स्थानीय प्रदर्शन को हरा सकते हैं। देख नेटवर्क टेस्ट: क्या हम गिगाबिट प्रदर्शन प्राप्त कर रहे हैं?

सभी व्यावहारिक उद्देश्यों के लिए मैं नेटवर्क और स्थानीय भंडारण के बराबर के रूप में इलाज करने की सिफारिश करता हूं और केवल स्मृति कैश का उपयोग करता हूं।

आपके जैसा उल्लेख किया गया मानक चेतावनी सच है कि कोई सामान्य नियम नहीं है; और वास्तव में अधिकांश समय में अच्छी तरह से कॉन्फ़िगर किए गए सर्वर के साथ काम करना चाहिए और डेटा स्थानांतरण की सर्वोत्तम विधि का मूल्यांकन करने के लिए मीट्रिक का उपयोग करना चाहिए।

यदि आप धीमी हार्ड ड्राइव के साथ कम अंत मशीन का उपयोग कर रहे हैं तो यह लगभग निश्चित रूप से एक तेज़ स्टोरेज सरणी वाले सर्वर पर गीगाबिट नेटवर्क कनेक्शन का उपयोग करने के लिए तेज़ होगा।

समान रूप से यदि आप लगभग समान हार्डवेयर के दो मशीनों के साथ काम कर रहे हैं तो विलंबता और नेटवर्क ओवरहेड स्थानीय संग्रहण को तेज कर देगा; यह वास्तव में सामान्य ज्ञान है।


2
2018-02-22 00:18





निर्भर करता है। यदि आपका I / O मुख्य रूप से यादृच्छिक पहुंच है तो इसके फ्लैट थ्रूपुट संभवतः नेटवर्क बैंडविड्थ की तुलना में बहुत अच्छा नहीं है जो उपलब्ध हो सकता है। हालांकि, अधिकांश नेटवर्क यातायात अंततः प्रक्रियाओं द्वारा उत्पन्न होता है जिसमें I / O शामिल होता है। यदि नेटवर्क यातायात उत्पन्न करने वाली किसी भी प्रक्रिया का कामकाजी सेट कैश में फिट बैठता है तो यह डिस्क बैंडविड्थ द्वारा बाधित नहीं होगा। यदि यह कैश को थ्रैश करता है तो डिस्क एक बाधा बन जाएगी।

मैं डेटा वेयरहाउस सिस्टम पर काम करता हूं, और कैननिकल डीडब्ल्यू क्वेरी एक टेबल स्कैन है। यदि आपकी क्वेरी तथ्य तालिका (या विभाजन) में पंक्तियों के कुछ प्रतिशत से अधिक हिट करती है तो अनुक्रमिक I / O का उपयोग कर तालिका या विभाजन स्कैन इंडेक्स लुकअप का उपयोग करके यादृच्छिक पहुंच क्वेरी योजना से अधिक कुशल होगा।

नेटवर्किंग स्टोरेज (यानी SANs) स्ट्रीमिंग वर्कलोड पर अच्छा प्रदर्शन नहीं करता है जब तक कि यह उचित रूप से ट्यून नहीं किया जाता है। यदि SAN का उपयोग सामान्य उद्देश्य समेकन पर्यावरण के लिए किया जा रहा है, तो यह निश्चित रूप से एक स्ट्रीमिंग के लिए काफी उप-अनुकूल रूप से ट्यून किया जाएगा, डेटा वेयरहाउस की तरह स्पाकी लोड। मैंने एक विक्रेता श्वेत पत्र देखा है कि आपको एक ऐसे SAN पर समान थ्रूपुट प्राप्त करने के लिए डिस्क की संख्या 3x की आवश्यकता है जो स्ट्रीमिंग I / O स्ट्रीमिंग के लिए ट्यून नहीं किया गया है।

मेरा अनुभव उस के साथ लम्बा है। असल में, मैंने एक समेकन पर्यावरण पर डेटा वेयरहाउस कभी नहीं तैनात किया है जहां मैं एक ही ईटीएल प्रक्रिया को काफी तेज नहीं चला सका मेरे डेस्कटॉप पीसी पर।  मेरे पास SAN उपकरण के एक प्रमुख विक्रेता से विक्रय प्रतिनिधि भी हैं, इस रिकॉर्ड से कहते हैं कि उनके बहुत से ग्राहक डीडब्ल्यू सिस्टम के लिए सीधे संलग्न स्टोरेज का उपयोग करते हैं क्योंकि सैन पर्याप्त तेज़ नहीं हैं।

नेटवर्किंग स्टोरेज कम से कम प्रति आईओपीएस प्रति आयाम का क्रम यादृच्छिक एक्सेस वर्कलोड के लिए सीधे संलग्न स्टोरेज और स्ट्रीमिंग के लिए परिमाण के दो ऑर्डर के करीब है।


2
2018-02-27 21:11





मेरे पास इसका अनुभव यह है कि जब आप 1 जीबी कनेक्शन पर होते हैं और आप फ़ाइल डाउनलोड करने का प्रयास करते हैं तो आपकी हार्डडिस्क आमतौर पर बाधा होती है। एक बात आपको ध्यान में रखना है हालांकि यह है कि आपको पहले कनेक्शन स्थापित करना होगा, जिसमें समय भी लगता है। तो डेटा नेटवर्क के बड़े हिस्से भेजने के लिए वास्तव में डिस्क से तेज हो सकता है।


1
2018-02-21 23:49



जब तक नेटवर्क कनेक्शन के दूसरी तरफ डिस्क भी बाधा नहीं है ...
@Argote: सही है, लेकिन अगर सर्वर सॉफ़्टवेयर सही ढंग से लिखा गया था, तो यह डिस्क पर लिखने से पहले स्मृति में बफर होगा। - amphetamachine


हां, आम तौर पर, नेटवर्क अब हार्ड ड्राइव से तेज़ हो जाते हैं, लेकिन यह समय के साथ chnage हो सकता है।

मुझे लगता है इसलिए मैं हूँ

जब कोई एप्लिकेशन चल रहा है तो इसका मतलब है कि होस्ट मशीन काम कर रही है, नेटवर्क पर काम करते समय एक आम प्रोटोकॉल की आवश्यकता है, सहकर्मी उपलब्धता की जांच, चैनल सुरक्षा ... और यदि सहकर्मी विभिन्न प्लेटफार्मों का उपयोग करते हैं, तो यह हासिल करना कठिन होता है कि आप एक मशीन पर क्या कर सकते हैं।

मैं इसे सबसे मजबूत कौन सा बजाय व्यापार-बंद शर्तों के संदर्भ में देखना पसंद करता हूं ...


1
2018-02-22 00:00



मुझे संदेह है, इसलिए मैं हो सकता हूं। - John Gardeniers


आपको इस तुलना के लिए एक सटीक उपयोग केस का वर्णन करना होगा। Harddrives समय + स्थानांतरण दर और कैश की तलाश है। नेटवर्क में विलंबता, स्थानांतरण दर और प्रोटोकॉल ओवरहेड है ...

मुझे लगता है कि आपकी मूल कैश मेमोरी> मेमोरी> डिस्क> नेटवर्क अभी भी सामान्य में सच है


1
2018-02-22 00:02





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


0
2018-02-22 02:13





ठीक है, वहाँ है हल्की चोटी जो 100 जीबीपीएस नेटवर्किंग गति का लक्ष्य रख रहा है, जो रैम की गति के करीब हो रहा है। निस्संदेह, नेटवर्क केवल डेटा वितरित कर सकता है क्योंकि प्रेषक डेटा उत्पन्न कर सकता है, यानी अगर प्रेषक हार्ड डिस्क से डेटा पढ़ रहा है तो रिसीवर केवल उसी गति पर डेटा प्राप्त करेगा जैसे डिस्क पढ़ने के साथ एक सुपरफास्ट नेटवर्क।


0
2018-02-22 15:32