"विलंबता चार्ट सभी को पता होना चाहिए" के कई संस्करण हैं जैसे:
बात यह है कि, वास्तव में, केवल विलंबता से अधिक है। यह कारकों का एक संयोजन है।
तो, एक डेटा सेंटर के भीतर नेटवर्क विलंबता क्या है? विलंबता, अच्छी तरह से मैं कहूंगा कि यह "हमेशा" 1ms से नीचे है। क्या यह रैम से तेज है? क्या यह रैम के करीब है? मुझे ऐसा नहीं लगता।
लेकिन सवाल यह है कि क्या यह प्रासंगिक है। क्या आपको पता होना चाहिए कि डेटम है? आपका सवाल मेरे लिए मायने रखता है। जैसा कि सब कुछ की लागत है, क्या आपको अधिक रैम प्राप्त करना चाहिए ताकि सभी डेटा रैम में रह सकें या समय-समय पर डिस्क से पढ़ना ठीक हो।
आपकी "धारणा" यह है कि यदि एसएसडी की गति की तुलना में नेटवर्क विलंबता अधिक (धीमी) है, तो रैम में सभी डेटा होने से आपको लाभ नहीं होगा क्योंकि आपके पास नेटवर्क धीमा होगा।
और ऐसा प्रतीत होता है। लेकिन, आपको कंसीडर को भी ध्यान में रखना होगा। यदि आप एक बार में डेटा के लिए 1,000 अनुरोध प्राप्त करते हैं, तो क्या डिस्क 1,000 समवर्ती अनुरोध कर सकती है? बेशक नहीं, तो उन 1,000 अनुरोधों को पूरा करने में कितना समय लगेगा? रैम की तुलना में?
भारी बोझ जैसे किसी एक कारक के लिए इसे उबालना मुश्किल है। लेकिन हां, अगर आपका एक ही ऑपरेशन चल रहा था, तो नेटवर्क की लेटेंसी ऐसी है कि आप शायद एसएसडी बनाम रैम के अंतर को नोटिस नहीं करेंगे।
ठीक उसी तरह जब तक कि 12Gbps डिस्क बाजार में दिखाई नहीं देता, 10Gbps नेटवर्क लिंक एक भी स्ट्रीम द्वारा ओवरलोड नहीं किया जाएगा क्योंकि डिस्क अड़चन थी।
लेकिन याद रखें कि आपकी डिस्क कई अन्य चीजें कर रही है, आपकी प्रक्रिया मशीन पर एकमात्र प्रक्रिया नहीं है, आपका नेटवर्क विभिन्न चीजों को ले जा सकता है, आदि।
इसके अलावा, सभी डिस्क गतिविधि का मतलब नेटवर्क ट्रैफ़िक नहीं है। डेटाबेस सर्वर के लिए एक आवेदन से आने वाली डेटाबेस क्वेरी केवल बहुत कम से कम नेटवर्क ट्रैफ़िक है। डेटाबेस सर्वर से प्रतिक्रिया बहुत छोटी (एक संख्या) या बहुत बड़ी (कई क्षेत्रों के साथ पंक्तियों की हजार) हो सकती है। ऑपरेशन करने के लिए, एक सर्वर (डेटाबेस सर्वर या नहीं) को कई डिस्क का उपयोग करने की आवश्यकता हो सकती है, पढ़ता है और लिखता है फिर भी केवल नेटवर्क पर बहुत कम बिट भेजते हैं। यह निश्चित रूप से एक-के-लिए-नेटवर्क-डिस्क-रैम नहीं है।
अब तक मैं आपके प्रश्न के कुछ विवरणों से बचता था - विशेष रूप से, रेडिस भाग।
Redis एक ओपन सोर्स (BSD लाइसेंस प्राप्त), इन-मेमोरी डेटा स्ट्रक्चर स्टोर है, जिसका इस्तेमाल डेटाबेस, कैश और मैसेज ब्रोकर के रूप में किया जाता है। - https://redis.io/
ठीक है, इसका मतलब है कि सब कुछ स्मृति में है। क्षमा करें, यह तेज़ SSD ड्राइव आपको यहाँ मदद नहीं करेगा। रेडिस डेटा को डिस्क पर बनाये रख सकता है, इसलिए इसे पुनः आरंभ करने के बाद रैम में लोड किया जा सकता है। यह केवल डेटा को "खोने" के लिए नहीं है या फिर से शुरू होने के बाद एक ठंडा कैश को फिर से खोलना है। तो इस मामले में, आपको रैम का उपयोग करना होगा, चाहे जो भी हो। अपना डेटा सेट रखने के लिए आपके पास पर्याप्त रैम होना चाहिए। पर्याप्त रैम नहीं है और मुझे लगता है कि आपका ओएस उपयोग करेगा swap
- शायद एक अच्छा विचार नहीं है।