2010 সালে, Google-এর জেফ ডিন স্ট্যানফোর্ডে একটি চমৎকার বক্তৃতা দিয়েছেন যা তাকে বেশ বিখ্যাত করে তুলেছে। এতে, তিনি কম্পিউটিং সিস্টেমের সাথে প্রাসঙ্গিক কয়েকটি সংখ্যা নিয়ে আলোচনা করেছেন। তারপর পিটার নরভিগ ইন্টারনেটে প্রথমবারের মতো সেই সংখ্যাগুলো প্রকাশ করেন।
সময় অতিবাহিত হয়, এবং সংখ্যা পরিবর্তিত হয়. এখানে সেই সংখ্যাগুলির একটি খুব ভাল ইন্টারেক্টিভ ওয়েব UI রয়েছে যা মোটামুটিভাবে বলে যে তারা সময়ের ফাংশন হিসাবে বছরের পর বছর ধরে কতটা পরিবর্তিত হয়েছে৷
এই নিবন্ধটি শুধুমাত্র জেফ ডিনের আনুমানিক ডেটার একটি সংকলন নয়, বরং এটি বিভিন্ন উত্স থেকে এই জাতীয় সমস্ত সংখ্যাকে একত্রিত করে৷ এটি আপনাকে সিস্টেম ডিজাইনার এবং আর্কিটেক্ট হিসাবে সাহায্য করবে। ডিজাইন করার সময়, আপনার সিস্টেমের প্রয়োজনীয় সংস্থানগুলির পরিমাণ অনুমান করতে আপনি এই সংখ্যাগুলি ব্যবহার করতে পারেন৷
2019 এর জন্য লেটেন্সি ডেটার মোটামুটি অনুমান:
- L1 ক্যাশে রেফারেন্স:1 ন্যানোসেকেন্ড।
- L2 ক্যাশে রেফারেন্স:4 ন্যানোসেকেন্ড।
- Mutex লক/আনলক:17 ন্যানোসেকেন্ড।
- প্রধান মেমরি / RAM রেফারেন্স:100 ন্যানোসেকেন্ড।
- Zippy (বর্তমানে Snappy বলা হয়):2000 ন্যানোসেকেন্ড বা 2 মাইক্রোসেকেন্ড।
- CPU শাখা ভুল পূর্বাভাস:3 ন্যানোসেকেন্ড।
- সলিড স্টেট ড্রাইভ (SSD) র্যান্ডম রিড:16 মাইক্রোসেকেন্ড।
- ডিস্ক (হার্ড ড্রাইভ / ম্যাগনেটিক ড্রাইভ) সন্ধান করুন:3 মিলিসেকেন্ড।
- প্রধান মেমরি থেকে ক্রমানুসারে 1,000,000 বাইট পড়ুন:4 মাইক্রোসেকেন্ড।
- এসএসডি থেকে ক্রমানুসারে 1,000,000 বাইট পড়ুন:62 মাইক্রোসেকেন্ড।
- ডিস্ক থেকে ক্রমানুসারে 1,000,000 বাইট পড়ুন:947 মাইক্রোসেকেন্ড।
- একই ডেটা সেন্টারে রাউন্ড ট্রিপ নেটওয়ার্ক অনুরোধ:500 মাইক্রোসেকেন্ড।
- পণ্য নেটওয়ার্কে 2000 বাইট পাঠান:62 ন্যানোসেকেন্ড।
টিসিপি দিয়ে ভ্রমণ করতে পেলোডের জন্য নেওয়া সময়:
কোন ডেটা নষ্ট হবে না বলে ধরে নিয়ে সারা বিশ্বের সাধারণ সেল নেটওয়ার্কগুলিতে বিভিন্ন ডেটা পেলোড প্রেরণের জন্য প্রয়োজনীয় সময়ের পরিমাণ এখানে৷
RTT — রাউন্ড ট্রিপ টাইম — নেটওয়ার্কের মাধ্যমে প্রেরক থেকে প্রাপক এবং প্রেরক থেকে প্রেরকের কাছে যেতে একটি ডেটা প্যাকেটের (ডেটা বাইটের গুচ্ছ) মোট সময়। সংক্ষেপে, একে পিং টাইম বলা হয়।
- 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 লাগে৷ রুক্ষ সময় নেওয়া - USA: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