2010 में, Google के जेफ डीन ने स्टैनफोर्ड में एक अद्भुत भाषण दिया जिसने उन्हें काफी प्रसिद्ध बना दिया। इसमें उन्होंने कुछ नंबरों पर चर्चा की जो कंप्यूटिंग सिस्टम के लिए प्रासंगिक हैं। फिर पीटर नॉरविग ने उन नंबरों को पहली बार इंटरनेट पर प्रकाशित किया।
समय बीतता गया, और संख्याएँ बदल गईं। यहां उन नंबरों का एक बहुत अच्छा इंटरेक्टिव वेब UI है जो मोटे तौर पर बताता है कि समय के एक समारोह के रूप में वे वर्षों में कितना बदल गए हैं।
यह लेख न केवल जेफ डीन के अनुमानित आंकड़ों का संकलन है, बल्कि यह विभिन्न स्रोतों से ऐसे सभी नंबरों को एक साथ लाता है। इससे आपको सिस्टम डिजाइनर और आर्किटेक्ट के रूप में मदद मिलनी चाहिए। डिज़ाइन करते समय, आप इन नंबरों का उपयोग अपने सिस्टम को आवश्यक संसाधनों की मात्रा का अनुमान लगाने के लिए कर सकते हैं।
2019 के लिए लेटेंसी डेटा का मोटा अनुमान:
- L1 कैश संदर्भ:1 नैनोसेकंड।
- L2 कैश संदर्भ:4 नैनोसेकंड।
- म्यूटेक्स लॉक / अनलॉक:17 नैनोसेकंड।
- मुख्य मेमोरी / रैम संदर्भ:100 नैनोसेकंड।
- Zippy (वर्तमान में Snappy कहा जाता है) के साथ 1 KB संपीड़ित करें:2000 नैनोसेकंड या 2 माइक्रोसेकंड।
- CPU शाखा का गलत अनुमान:3 नैनोसेकंड।
- सॉलिड स्टेट ड्राइव (SSD) रैंडम रीड:16 माइक्रोसेकंड।
- डिस्क (हार्ड ड्राइव / चुंबकीय ड्राइव) की तलाश:3 मिलीसेकंड।
- मुख्य मेमोरी से क्रमिक रूप से 1,000,000 बाइट पढ़ें:4 माइक्रोसेकंड।
- SSD से क्रमिक रूप से 1,000,000 बाइट पढ़ें:62 माइक्रोसेकंड।
- डिस्क से क्रमिक रूप से 1,000,000 बाइट पढ़ें:947 माइक्रोसेकंड।
- एक ही डेटा सेंटर में राउंड ट्रिप नेटवर्क अनुरोध :500 माइक्रोसेकंड।
- 2000 बाइट कमोडिटी नेटवर्क पर भेजें:62 नैनोसेकंड।
tcp पर पेलोड के लिए लिया गया समय:
यहां दुनिया भर के विशिष्ट सेल नेटवर्क पर विभिन्न डेटा पेलोड को प्रसारित करने के लिए आवश्यक समय की मात्रा है, बिना डेटा हानि के।
आरटीटी - राउंड ट्रिप टाइम - नेटवर्क पर प्रेषक से रिसीवर और रिसीवर से प्रेषक तक यात्रा करने के लिए डेटा पैकेट (डेटा बाइट्स का गुच्छा) के लिए लिया गया कुल समय। संक्षेप में, इसे पिंग टाइम कहते हैं।
- 1 बाइट से 13,000 बाइट (लगभग 13 KB) डेटा के स्थानांतरण में 1 राउंड ट्रिप या 1 RTT लगता है। कठिन समय लगा — यूएसए:150 मिलीसेकंड, भारत:1200 मिलीसेकंड, ब्राज़ील:600 मिलीसेकंड।
- 13,001 बाइट्स — 39,000 बाइट्स (13 KB से 39 KB) में 2 RTT लगते हैं। कठिन समय लगा — यूएसए:300 मिलीसेकंड, भारत:2400 मिलीसेकंड, ब्राज़ील:1200 मिलीसेकंड।
- 39,001 बाइट्स — 91,000 बाइट्स (39 KB से 91KB) में 3 RTT लगते हैं। कठिन समय लिया-यूएसए:450 मिलीसेकंड, भारत:3600 मिलीसेकंड, ब्राजील:1800 मिलीसेकंड।
- 91,001 बाइट्स — 195,000 बाइट्स (91 KB से 195 KB) में 4 RTT लगते हैं। कठिन समय लगा — यूएसए:600 मिलीसेकंड, भारत:4800 मिलीसेकंड, ब्राज़ील:2400 मिलीसेकंड।
तो अधिक प्रतिक्रिया आकार का अर्थ है अधिक बाइट्स, लंबी यात्रा, अधिक API विलंबता, और अंततः कम उपयोगकर्ता के अनुकूल ऐप।
नए या अपडेट किए गए नंबर मिलने पर इस पोस्ट को अपडेट किया जाएगा। कृपया मुझे बताएं कि क्या आप नए नंबरों के बारे में जानते हैं।
यह लेख मूल रूप से लेखक की मीडियम वॉल पर प्रकाशित हुआ है। अगर आपको यह पसंद है, तो कृपया ताली बजाएं।
संदर्भ:
- https://colin-scott.github.io/blog/2012/12/24/latency-trends/
- https://blog.std.in/2015/05/23/http-response-sizes-and-tcp/
- https://medium.com/@kousiknath/must-know-numbers-for-every-computer-engineer-6338a12c292c