২০১০ সালে, গুগলের জেফ ডিন স্ট্যানফোর্ডে একটি চমৎকার টক দিয়েছিলেন যেটি তাকে খুব বিখ্যাত করে দিয়েছিল। সেখানে তিনি কম্পিউটিং সিস্টেমের প্রাসঙ্গিক কয়েকটি সংখ্যা নিয়ে আলোচনা করলেন। তারপর পিটার নরভিগ সেই সংখ্যাগুলো প্রথম بار ইন্টারনেটে প্রকাশ করলেন।
সময় কেটে, এবং সংখ্যাগুলো পরিবর্তন হলো। এখানে একটি খুব ভালো ইন্টারেক্টিভ ওয়েব UI আছে সেই সংখ্যাগুলোর যা মোটামুটি বলে যে সেগুলো বছরের সাপেক্ষে কতটুকু পরিবর্তন হয়েছে।
এই আর্টিকেলটি কেবল জেফ ডিনের অনুমানিত ডেটার একটি কম্পাইলেশন নয়, বরং এটি বিভিন্ন সোর্স থেকে এমন সব সংখ্যাগুলো একসাথে আনে। এটি আপনাকে একটি সিস্টেম ডিজাইনার এবং আর্কিটেক্ট হিসেবে সাহায্য করবে। ডিজাইন করার সময়, আপনি এই সংখ্যাগুলো ব্যবহার করে আপনার সিস্টেমের রিসোর্স প্রয়োজন অনুমান করতে পারবেন।
২০১৯ সালের লেটেন্সি ডেটার আনুমানিক অনুমান:
- L1 ক্যাশে রেফারেন্স: ১ ন্যানোসেকেন্ড।
- L2 ক্যাশে রেফারেন্স: ৪ ন্যানোসেকেন্ড।
- মিউটেক্স লক / আনলক: ১৭ ন্যানোসেকেন্ড।
- মেইন মেমরি / র্যাম রেফারেন্স: ১০০ ন্যানোসেকেন্ড।
- Zippy (বর্তমানে Snappy নামে পরিচিত) দিয়ে ১ KB কমপ্রেস: ২০০০ ন্যানোসেকেন্ড বা ২ মাইক্রোসেকেন্ড।
- CPU ব্রান্চ মিসপ্রেডিক্ট: ৩ ন্যানোসেকেন্ড।
- স olid স্টেট ড্রাইভ (SSD) র্যান্ডম রিড: ১৬ মাইক্রোসেকেন্ড।
- ডিস্ক (হার্ড ড্রাইভ / ম্যাগনেটিক ড্রাইভ) সিক: ৩ মিলিসেকেন্ড।
- মেইন মেমরি থেকে ১,০০০,০০০ বাইট সিকোয়েনশিয়ালি পড়া: ৪ মাইক্রোসেকেন্ড।
- SSD থেকে ১,০০০,০০০ বাইট সিকোয়েনশিয়ালি পড়া: ৬২ মাইক্রোসেকেন্ড।
- ডিস্ক থেকে ১,০০০,০০০ বাইট সিকোয়েনশিয়ালি পড়া: ৯৪৭ মাইক্রোসেকেন্ড।
- একই ডেটা সেন্টারে রাউন্ড ট্রিপ নেটওয়ার্ক রিকোয়েস্ট: ৫০০ মাইক্রোসেকেন্ড।
- কমোডিটি নেটওয়ার্কের ওপর ২০০০ বাইট পাঠানো: ৬২ ন্যানোসেকেন্ড।
TCP-র ওপর পেলোড ট্রাভেল করার জন্য প্রয়োজনীয় সময়:
এখানে বিশ্বের সাধারণ সেল নেটওয়ার্কগুলিতে বিভিন্ন ডেটা পেলোড ট্রান্সমিট করার জন্য প্রয়োজনীয় সময় দেওয়া হলো ডেটা লস না ধরে।
RTT — রাউন্ড ট্রিপ টাইম — একটি ডেটা প্যাকেট (ডেটা বাইটের সমষ্টি) প্রেরক থেকে প্রাপক এবং প্রাপক থেকে প্রেরক নেটওয়ার্কের ওপর ট্রাভেল করার জন্য মোট সময়। সংক্ষেপে, এটাকে পিং টাইম বলা হয়।
- ১ বাইট থেকে ১৩,০০০ বাইট (প্রায় ১৩ KB) ডেটা ট্রান্সফার ১ রাউন্ড ট্রিপ বা ১ RTT নেয়। আনুমানিক সময় — USA: ১৫০ মিলিসেকেন্ড, ভারত: ১২০০ মিলিসেকেন্ড, ব্রাজিল: ৬০০ মিলিসেকেন্ড।
- ১৩,০০১ বাইট — ৩৯,০০০ বাইট (১৩ KB থেকে ৩৯ KB) ২ RTT নেয়। আনুমানিক সময় — USA: ৩০০ মিলিসেকেন্ড, ভারত: ২৪০০ মিলিসেকেন্ড, ব্রাজিল: ১২০০ মিলিসেকেন্ড।
- ৩৯,০০১ বাইট — ৯১,০০০ বাইট (৩৯ KB থেকে ৯১ KB) ৩ RTT নেয়। আনুমানিক সময় — USA: ৪৫০ মিলিসেকেন্ড, ভারত: ৩৬০০ মিলিসেকেন্ড, ব্রাজিল: ১৮০০ মিলিসেকেন্ড।
- ৯১,০০১ বাইট — ১৯৫,০০০ বাইট (৯১ KB থেকে ১৯৫ KB) ৪ RTT নেয়। আনুমানিক সময় — USA: ৬০০ মিলিসেকেন্ড, ভারত: ৪৮০০ মিলিসেকেন্ড, ব্রাজিল: ২৪০০ মিলিসেকেন্ড।
তাই রেসপন্স সাইজ যত বড় মানে তত বেশি বাইট, লম্বা রাউন্ড ট্রিপ, বেশি 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