آموزش رفع خطای Reduce DNS lookups در GTmetrix
یکی از خطاهای رایجی که هنگام تست سرعت سایت با GTmetrix بهش بر میخوریم با عنوان Reduce DNS lookups به ما نمایش داده میشه که مربوط به DNS سایت میشه. این خطا ممکنه با عناوین Reduce DNS lookups یا ارور Minimize DNS lookups هم در تست سرعت با ابزار مختلف تست سرعت سایت نشون داده بشه که هر دو به یک معنی هستند و اشاره به این موضوع دارند که باید تعداد DNS هایی که به دامنههای دیگه اشاره دارند
و فایلها یا سورسهایی رو از سایتهای دیگه دریافت میکنند کمتر و کمتر کنیم. چرا که در این صورت ما داخل سایتمون باید اطلاعاتی رو از چندین سرور مختلف که روی دامنههای مجزا قرار دارند دریافت کنیم که در این صورت اگر اون سایتها با کندی مواجه شده باشند یا مشکلی از نظر سرعت داشته باشند، روی سایت ما هم تاثیر خودش رو خواهد گذاشت.
در این آموزش از پایگاه دانش قصد دارم به نحوه برطرف کردن خطای Reduce DNS lookups در GTmetrix بپردازم که با استفاده از این آموزش میتوانید تعداد DNS های خارجی که از دامنههای دیگه برای لود فایلهای مختلف از سایتهای دیگه استفاده میکنید رو کاهش داده و سرعت سایت را افزایش دهید. اما قبل از اینکه به نحوه برطرف کردن این ارور بپردازم لازمه اطلاعاتی رو در مورد DNS بهتون ارائه بدم.
دلایل بروز خطای Reduce DNS lookups
۱. استفاده از منابع خارجی زیاد: هر زمانی که یک وبسایت از منابعی مانند فونتها، اسکریپتها یا تصاویر از دامنههای خارجی استفاده میکند، مرورگر باید یک DNS lookup برای هر منبع انجام دهد.
۲. تعداد زیاد درخواستها به سرورهای مختلف: اگر وبسایت شما منابع خود را از سرورهای متعددی بارگذاری کند، تعداد درخواستهای DNS افزایش مییابد.
- پلاگینها و ابزارهای خارجی: بسیاری از سایتها از ابزارهای تجزیه و تحلیل، تبلیغات یا پلاگینهای دیگر که به دامنههای خارجی متصل هستند، استفاده میکنند. این پلاگینها هم نیاز به DNS lookup دارند.
روشهای رفع خطای Reduce DNS lookups
برای کاهش تعداد درخواستهای DNS و بهبود سرعت بارگذاری وبسایت، چندین راهکار وجود دارد:
1. تجمیع منابع در یک دامنه
یکی از بهترین راهحلها، کاهش تعداد منابع خارجی است. به جای استفاده از دامنههای متعدد برای بارگذاری تصاویر، اسکریپتها و سایر منابع، سعی کنید تمامی آنها را در یک دامنه یا CDN (شبکه توزیع محتوا) تجمیع کنید. با این کار، تعداد DNS lookupها کاهش مییابد.
2. استفاده از Caching DNS
میتوانید از تنظیمات کشینگ (Caching) DNS استفاده کنید تا مرورگر به جای ارسال مکرر درخواست DNS برای هر بار بارگذاری صفحه، از اطلاعات کش شده استفاده کند. این کار باعث میشود مدت زمان لازم برای انجام DNS lookup کاهش یابد.
3. حداقلسازی منابع خارجی
استفاده از منابع خارجی مانند فونتها، کتابخانههای جاوا اسکریپت (مثل jQuery)، و سرویسهای تحلیلی مانند Google Analytics میتواند منجر به افزایش تعداد درخواستهای DNS شود. سعی کنید تنها منابع ضروری را از دامنههای خارجی بارگذاری کنید.
4. استفاده از CDN
شبکههای توزیع محتوا (CDN) کمک میکنند که منابع وبسایت شما در نقاط مختلف جغرافیایی قرار بگیرند و دسترسی به آنها سریعتر و کارآمدتر شود. این کار میتواند به کاهش تعداد DNS lookupها و بهبود سرعت سایت کمک کند.
5. استفاده از فونتها و کتابخانههای داخلی
اگر سایت شما از فونتهای وب (مانند Google Fonts) یا کتابخانههای جاوا اسکریپت (مانند CDNهای خارجی برای jQuery) استفاده میکند، بهتر است آنها را به صورت محلی در سرور خود بارگذاری کنید. این کار از نیاز به درخواستهای اضافی DNS جلوگیری میکند.
6. آنالیز و حذف پلاگینهای غیرضروری
پلاگینها و ابزارهایی که به دامنههای خارجی متصل میشوند را بررسی کنید و آنهایی که ضروری نیستند را حذف کنید. این کار میتواند به کاهش درخواستهای DNS کمک کند.
DNS چیست و چطور کار میکنه؟
Domain Name System یا به اختصار DNS رکوردی هستش که نام دامنه شما رو به IP هاست متصل میکنه. در واقع هر هاست یک آدرس IP اختصاصی داره که روی سرور پیاده سازی شده، شما باید اون رو از شرکت های هاستیگ دریافت کنید و DNS کارش این هستش که نام دامنه شما رو به وسیله چند مشخصه به آدرس IP هاست متصل کنه. بنابراین وقتی نام دامنه را در آدرس بار وارد میکنید
و منتظر لود شدن سایت هستید، ارائه دهنده اینترنت شما به دنبال IP که روی این دامنه در نظر گرفته شده میگرده و سپس به کمک DNS سایت مورد نظر رو به شما نمایش میده. در این صورت دیگه مثل گذشته و قبل از اینکه دامنهها به وجود بیان، مجبور نیستید که به جای آدرس دامنه آیپی یک سایت رو حفظ کنید.
این بار در سطح وسیعتری(سطح جهانی) میرسه که در نهایت توی این سطح میتونه اون IP رو به دست بیاره که به این دامنه مرتبط هست. بعد از یافتن آیپی حالا سایت شروع به لود شدن میکنه.
به این مراحلی که برای یافتن آدرس IP یک سایت توسط دامنه طی میشه DNS Lookups یا همون پیدا کردن DNS در بین دیاناس سرورها گفته میشه. تا زمانی که فرآیند پیدا کردن IP توسط DNS Lookups به انتها نرسه، سایت مورد نظر لود نخواهد شد. برای پیدا کردن سایت توسط DNS Lookups هم یک زمان تقریبی بین ۲۰ الی ۱۲۰ میلی ثانیه طول خواهد کشید.
این تست از طریق سرور کشور هند انجام گرفته و اگه کسی از هند وارد سایت بشه به این میزان مدت زمان برای پیدا کردن DNS های خارجی طول میکشه. همونطور که در بالا هم اشاره کردم متوسط زمان لازم برای پیدا کردن DNS بین ۲۰ تا ۱۲۰ میلی ثانیه است در صورتی که تو این تست تا ۱۷۰ میلی ثانیه هم داریم که وقتی این حالت رخ بده خیلی میتونه روی لود سایت تاثیر بدی بزاره.
حالا اگر تعدادشون بیشتر هم باشه موضوع بدتر خواهد شد. بنابراین کاری که ما باید انجام بدیم این هست که هم تعداد DNS های خارج از سایت رو کمتر کنیم و هم اینکه تا جای ممکن اگه میتونید برخی از اینها رو از سرور خودمون لود کنیم.
به عنوان مثال ممکنه شما از کتابخانه JS در سایت استفاده کنید که از یک سایت خاصی دریافتش میکنید، برای اینکه سرعت بهتری در لود سایت داشته باشید دو راه دارید.
نتیجهگیری
خطای Reduce DNS lookups یکی از عواملی است که میتواند به شدت بر سرعت بارگذاری وبسایت شما تأثیر بگذارد. کاهش تعداد درخواستهای DNS میتواند زمان بارگذاری سایت را بهبود بخشد و تجربه کاربری بهتری ایجاد کند. با استفاده از راهکارهایی مانند تجمیع منابع، کشینگ DNS، استفاده از CDN و حذف منابع غیرضروری، میتوانید Reduce DNS lookups را به حداقل برسانید. بنابراین، با توجه به اهمیت کاهش درخواستهای DNS، تمرکز بر روی Reduce DNS lookups یکی از گامهای اساسی در بهینهسازی عملکرد وبسایت است.