Safari, примерно সব ব্রাউজারের মতো, এখন DNS প্রিফেচিং অন্তর্ভুক্ত করে, একটি ফিচার যা একটি ওয়েব পেজে এমবেড করা সব লিংক দেখে এবং আপনার DNS সার্ভারকে কোয়েরি করে প্রতিটি লিংককে এর বাস্তব IP ঠিকানায় রেজলভ করার মাধ্যমে ওয়েব সার্ফিংকে দ্রুততর করার জন্য ডিজাইন করা হয়েছে।
যখন DNS প্রিফেচিং ভালো কাজ করে, তখন আপনি একটি ওয়েবসাইটে একটি লিংক নির্বাচন করার সময়, আপনার ব্রাউজার ইতিমধ্যে IP ঠিকানাটি জানতে পারে এবং অনুরোধ করা পেজ লোড করার জন্য প্রস্তুত থাকে। এর মানে হল পেজ থেকে পেজে যাওয়ার সময় খুব দ্রুত রেসপন্স টাইম।
তাহলে, এটা কীভাবে খারাপ হতে পারে? খুব চমকপ্রদভাবে, DNS প্রিফেচিং-এর কিছু रोचক ড্রব্যাক রয়েছে, যদিও শুধু নির্দিষ্ট শর্তের অধীনে। যদিও অধিকাংশ ব্রাউজারে এখন DNS প্রিফেচিং রয়েছে, আমরা Safari-তে কেনদ্রিত হব, যেহেতু এটি Mac-এর জন্য শীর্ষ ব্রাউজার।
যখন Safari একটি ওয়েবসাইট লোড করে, কখনও কখনও পেজ রেন্ডার হয়ে যাওয়ার জন্য প্রস্তুত मालूम হয়। কিন্তু যখন আপনি পেজটি উপরে বা নিচে স্ক্রোল করার চেষ্টা করেন বা মাউস পয়েন্টার সরান, তখন আপনি একটি স্পিনিং কার্সর পান। আপনি লক্ষ্য করতে পারেন যে ব্রাউজার রিফ্রেশ আইকনও এখনো স্পিন করছে। এই সবই ইঙ্গিত দেয় যে পেজটি সফলভাবে রেন্ডার হওয়া সত্ত্বেও, কিছু ব্রাউজারকে আপনার প্রয়োজনে প্রতিক্রিয়া জানাতে বাধা দিচ্ছে।
এই সমস্যার অনেক সম্ভাব্য কারণ থাকতে পারে। পেজে এরর থাকতে পারে, সাইট সার্ভার ধীর হতে পারে, বা পেজের একটি অফ-সাইট অংশ, যেমন একটি থার্ড-পার্টি বিজ্ঞাপন সার্ভিস, ডাউন থাকতে পারে। এই ধরনের সমস্যা সাধারণত অস্থায়ী, এবং সম্ভবত অল্প সময়ে, কয়েক মিনিট থেকে কয়েক দিনের মধ্যে চলে যাবে।
DNS প্রিফেচিং ইস্যু একটু ভিন্নভাবে কাজ করে। এগুলি সাধারণত একই ওয়েবসাইটকে প্রভাবিত করে যখনই আপনি একটি Safari ব্রাউজার সেশনে প্রথমবার সেটি ভিজিট করেন। আপনি সকালে সাইটটি ভিজিট করতে পারেন এবং খুব ধীর রেসপন্স পেতে পারেন। এক ঘন্টা পরে ফিরে আসলে সব ঠিক থাকতে পারে। পরের দিন, একই প্যাটার্ন পুনরাবৃত্তি হয়। আপনার প্রথম ভিজিট ধীর, খুব ধীর; সেই দিনের যেকোনো পরবর্তী ভিজিট ঠিক থাকে।
DNS প্রিফেচিং-এ কী হচ্ছে?
উপরোক্ত উদাহরণে, যখন আপনি সকালে প্রথমে ওয়েবসাইটে যান, Safari পেজে যা লিংক দেখে সেসবের জন্য DNS কোয়েরি পাঠাতে পারে। আপনি কোন পেজ লোড করছেন তার উপর নির্ভর করে, এটি কয়েকটি কোয়েরি হতে পারে বা হাজার হাজারও হতে পারে, বিশেষ করে যদি এটি একটি ऐसी ওয়েবসাইট হয় যেতে অনেক ইউজার কমেন্ট থাকে বা আপনি কোনো ফোরাম ভিজিট করেন।
সমস্যা এতটাই নন যে Safari ढেলে DNS কোয়েরি পাঠাচ্ছে, বরং কিছু পুরনো হোম নেটওয়ার্ক রাউটার রিকোয়েস্ট লোড হ্যান্ডেল করতে পারে না, অথবা আপনার ISP-এর DNS সিস্টেম রিকোয়েস্টের জন্য অন্ডারসাইজড, অথবা উভয়টিই মিলে।
DNS প্রিফেচিং পারফরম্যান্স ইস্যু টারব্লশুট এবং সমাধান করার দুটি সহজ পদ্ধতি রয়েছে। আমরা আপনাকে উভয় পদ্ধতিই দিয়ে নিয়ে যাব।
আপনার DNS সার্ভিস প্রোভাইডার পরিবর্তন করুন
প্রথম পদ্ধতি হল আপনার DNS সার্ভিস প্রোভাইডার পরিবর্তন করা। অনেক লোক তাদের ISP যেটা বলে সেটাই DNS সেটিংস হিসেবে ব্যবহার করে, কিন্তু সাধারণত আপনি যেকোনো DNS সার্ভিস প্রোভাইডার ব্যবহার করতে পারেন। আমাদের অভিজ্ঞতায়, আমাদের লোকাল ISP-এর DNS সার্ভিস খুব খারাপ। সার্ভিস প্রোভাইডার পরিবর্তন করা আমাদের পক্ষে একটি ভালো সিদ্ধান্ত ছিল; এটি আপনার জন্যও ভালো হতে পারে।
আপনি অনলাইন গাইডের নির্দেশাবলী ব্যবহার করে আপনার বর্তমান DNS প্রোভাইডার টেস্ট করতে পারেন।
যদি আপনার DNS সার্ভিস চেক করার পর আপনি ভিন্ন একটি সার্ভিসে পরিবর্তন করার সিদ্ধান্ত নেন, তবে স্বाभাবিক প্রশ্ন হল, কোনটি? আপনি OpenDNS বা Google Public DNS চেষ্টা করতে পারেন, দুটি জনপ্রিয় এবং ফ্রি DNS সার্ভিস প্রোভাইডার, কিন্তু আপনি যদি কিছু টвиকিং করতে না চান, তবে বিভিন্ন DNS সার্ভিস প্রোভাইডার টেস্ট করে দেখতে পারেন কোনটি আপনার জন্য সেরা।
একবার আপনি যে DNS প্রোভাইডারটি ব্যবহার করতে চান সেটি বেছে নিলে, আপনার Mac-এর DNS সেটিংস পরিবর্তন করুন।
একবার অন্য একটি DNS প্রোভাইডারে পরিবর্তন করলে, Safari বন্ধ করুন। Safari পুনরায় চালু করুন এবং তারপর সেই ওয়েবসাইটটি ভিজিট করুন যা আপনাকে বারবার সমস্যা দিচ্ছিল।
যদি সাইটটি এখন ঠিক লোড হয়, এবং Safari রেসপন্সিভ থাকে, তবে আপনি সেট আপ; সমস্যাটি DNS প্রোভাইডারের ছিল। দ্বিগুণ নিশ্চিত করতে, আপনার Mac শাটডাউন এবং রিস্টার্ট করার পর একবার আবার একই ওয়েবসাইট লোড করার চেষ্টা করুন। যদি সবকিছু এখনো কাজ করে, তবে আপনি শেষ।
যদি না হয়, তবে সমস্যাটি কোথাও অন্য জায়গায়। আপনি আপনার পুরনো DNS সেটিংসে ফিরে যেতে পারেন, বা নতুনগুলোই রাখতে পারেন, বিশেষ করে যদি আপনি উপরে প্রস্তাবিত DNS প্রোভাইডারগুলির যেকোনো একটিতে পরিবর্তন করেছেন; দুটোই খুব ভালো কাজ করে।
Safari-এর DNS প্রিফेच নিষ্ক্রিয় করুন
যদি আপনি এখনও সমস্যায় পড়েন, তবে আপনি সেটি সমাধান করতে পারেন সেই ওয়েবসাইটে আর কখনো না যেয়ে, অথবা DNS প্রিফেচিং নিষ্ক্রিয় করে।
খুব ভালো হতো যদি DNS প্রিফেচিং Safari-এ একটি পছন্দ সেটিং হতো। এটো ভালো হতো যদি আপনি সাইট-বাই-সাইট বেসিসে প্রিফেচিং নিষ্ক্রিয় করতে পারতেন। কিন্তু যেহেতু এই কোনো অপশন বর্তমানে উপলব্ধ নয়, আমাদের ফিচারটি নিষ্ক্রিয় করতে একটি ভিন্ন পদ্ধতি ব্যবহার করতে হবে।
/Applications/Utilities-এ অবস্থিত Terminal চালু করুন।
খুলা টার্মিনাল উইন্ডোতে, নিচের কমান্ডটি লিখুন বা কপি/পেস্ট করুন:
defaults write com.apple.safari WebKitDNSPrefetchingEnabled -boolean false
Enter বা Return চাপুন।
তারপর Terminal বন্ধ করুন।
Safari বন্ধ করে পুনরায় চালু করুন, এবং তারপর সমস্যা সৃষ্টি করা ওয়েবসাইটটি পুনরায় ভিজিট করুন। এখন এটি ভালো কাজ করা উচিত। সমস্যাটি সম্ভবত আপনার হোম নেটওয়ার্কের একটি পুরনো রাউটারের ছিল। যদি আপনি কখনো রাউটারটি রিপ্লেস করেন, বা রাউটার নির্মাতা একটি ফার্মওয়্যার আপগ্রেড অফার করে যা সমস্যাটি সমাধান করে, তবে আপনি DNS প্রিফেচিং আবার অন করতে চাইবেন। এখানে কিভাবে:
Terminal চালু করুন।
টার্মিনাল উইন্ডোতে, নিচের কমান্ডটি লিখুন:
defaults write com.apple.safari WebKitDNSPrefetchingEnabled
Enter বা Return চাপুন।
তারপর Terminal বন্ধ করুন।
এটাই ছিল; এখন আপনাকে ঠিক থাকা উচিত। দীর্ঘমেয়াদে, আপনি সাধারণত DNS প্রিফেচিং সক্রিয় থাকতে ভালো থাকেন। কিন্তু আপনি যদি ঘন ঘন এমন একটি ওয়েবসাইট ভিজিট করেন যাতে সমস্যা থাকে, তবে DNS প্রিফেচিং অফ করলে প্রতিদিনের ভিজিটটি আরো উপভোগ্য হবে।