একটি ওয়েবসাইটের URL ঠিকানা দেওয়া থাকলে; টাস্ক হলো ওয়েবসাইটের রাউন্ড ট্রিপ টাইম ক্যালকুলেট করা।
রাউন্ড ট্রিপ টাইম (RTT) হলো মোট টাইম বা দৈর্ঘ্য যা একটি সিগন্যাল পাঠাতে লাগে সেই সাথে সেই সিগন্যালের একনলেজমেন্ট রিসিভ করতে লাগে। এই টাইমটিতে দুটি পয়েন্টের মাঝপথের প্রোপাগেশন টাইমও থাকে।
এন্ড ইউজার একটি IP ঠিকানা পিং (ping) করে তার রাউন্ড ট্রিপ টাইম নির্ধারণ করতে পারেন।
রাউন্ড ট্রিপ টাইমের ফলাফল নিম্নলিখিত কারণগুলোর ওপর নির্ভর করে −
- ট্রান্সমিশন মিডিয়াম।
- সার্কিটে ইন্টারফেসের উপস্থিতি।
- সোর্স থেকে ডেস্টিনেশন পর্যন্ত নোডের সংখ্যা।
- ট্রাফিকের পরিমাণ।
- সোর্স থেকে ডেস্টিনেশন পর্যন্ত শারীরিক দূরত্ব।
- ট্রান্সমিশন মিডিয়ামের প্রকৃতি (ওয়ায়ারলেস, ফাইবার অপটিক, ইত্যাদি)।
- রিকোয়েস্টের সংখ্যা।
- সার্কিটে ইন্টারফেসের উপস্থিতি।
সাধারণত রাউন্ড ট্রিপ টাইমের দৈর্ঘ্য মিলিসেকেন্ডে থাকে এবং আমরা আউটপুট সেকেন্ডে দেখাচ্ছি।
উদাহরণ
ইনপুট: www.tutorialspoint.com আউটপুট: Time taken:0.3676435947418213 ইনপুট: www.indiatoday.in আউটপুট: Time taken:0.4621298224721691
দেওয়া সমস্যা সমাধানের জন্য আমরা যে পদ্ধতি ব্যবহার করব −
- RTT ক্যালকুলেট করার জন্য যেসব URL-এর স্ট্রিং ইনপুট নিন।
- URL রিকোয়েস্ট করার আগে টাইম রেকর্ড করুন এবং একটি ভেরিয়েবলে স্টোর করুন।
- রিকোয়েস্ট পাঠান।
- একনলেজমেন্ট রিসিভ করার পর টাইম রেকর্ড করুন।
- দুই টাইম তুলনা করলে RTT পাওয়া যাবে।
অ্যালগরিদম
Start
ধাপ ১ → import time
ধাপ ২ → import requests
ধাপ ৩ → define a function def roundtriptime(url):
t1 = time.time() সেট
req = requests.get(url) সেট
t2 = time.time() সেট
t = str(t2-t1) সেট
Print Time taken
ধাপ ৪ → url = "https://www.tutorialspoint.com" ইনিশিয়ালাইজ
ধাপ ৫ → roundtriptime(url) ফাংশন কল
Stop
উদাহরণ
import time
import requests
# রাউন্ড ট্রিপ টাইম ক্যালকুলেট করার ফাংশন
def roundtriptime(url):
# সিগন্যাল পাঠানোয় টাইম
t1 = time.time()
req = requests.get(url)
# একনলেজমেন্ট রিসিভ হয়ে টাইম
t2 = time.time()
// মোট টাইম নেওয়া
t = str(t2-t1)
print("Time taken:" + t)
// url ঠিকানা
url = "https://www.tutorialspoint.com"
roundtriptime(url)
আউটপুট
Time taken:0.3676435947418213