برچسب: بهبود سرعت باز شدن سایت ها

  • چرا بعضی سایت‌ها برای شما کندتر از دیگران باز می‌شوند؟ نگاهی به مسیر واقعی اینترنت

    چرا بعضی سایت‌ها برای شما کندتر از دیگران باز می‌شوند؟ نگاهی به مسیر واقعی اینترنت

    ممکن است اینترنت شما در یک آزمایش سرعت، عدد بسیار خوبی نشان دهد؛ اما همان لحظه یک سایت خاص با تأخیر باز شود، تصاویر دیر نمایش داده شوند یا صفحه برای چند ثانیه روی حالت بارگذاری باقی بماند.

    در چنین شرایطی معمولاً اولین چیزی که به ذهن می‌رسد، «ضعیف بودن اینترنت» است. اما سرعت اینترنت فقط یکی از عوامل مؤثر بر سرعت باز شدن یک وب‌سایت است.

    برای درک بهتر موضوع، باید ببینیم وقتی یک آدرس را در مرورگر وارد می‌کنیم، چه اتفاقی در پشت صحنه رخ می‌دهد.


    یک درخواست ساده، مسیر ساده‌ای ندارد

    وقتی آدرس یک سایت را وارد می‌کنید، مرورگر مستقیماً به صفحه موردنظر نمی‌پرد.

    ابتدا باید نام دامنه به یک IP تبدیل شود. سپس ارتباط با سرور برقرار شود، اتصال امن HTTPS در صورت استفاده از آن شکل بگیرد و در نهایت فایل‌های موردنیاز صفحه دریافت شوند.

    در یک صفحه معمولی ممکن است ده‌ها یا حتی صدها درخواست برای مواردی مانند:

    • HTML
    • فایل‌های CSS
    • JavaScript
    • تصاویر
    • فونت‌ها
    • ویدئوها
    • تبلیغات
    • سرویس‌های آماری
    • APIها

    ارسال شود.

    بنابراین «سرعت اینترنت» تنها بخشی از ماجراست.


    سرعت دانلود بالا، لزوماً سایت سریع نمی‌سازد

    فرض کنید اینترنت شما سرعت دانلود ۱۰۰ مگابیت بر ثانیه دارد.

    این عدد به این معنا نیست که تمام سایت‌ها باید فوراً باز شوند.

    یک مثال ساده:

    تصور کنید یک کامیون بسیار سریع دارید، اما انبار مقصد فقط می‌تواند هر بار یک بسته را تحویل دهد.

    سرعت کامیون بالا است، اما فرآیند کلی همچنان ممکن است طول بکشد.

    در اینترنت هم عواملی مانند تأخیر (Latency)، زمان پاسخ سرور و تعداد درخواست‌ها اهمیت زیادی دارند.

    به همین دلیل ممکن است دانلود یک فایل بزرگ با سرعت بسیار خوبی انجام شود، اما باز شدن یک صفحه وب همچنان کند باشد.


    Latency چیست و چرا اهمیت دارد؟

    Latency یا تأخیر، مدت زمانی است که طول می‌کشد یک بسته داده از یک نقطه به نقطه دیگر برسد.

    مثلاً اگر یک درخواست از دستگاه شما به سرور ارسال شود و پاسخ آن برگردد، هرچه این رفت‌وبرگشت زمان بیشتری ببرد، بعضی عملیات اینترنتی کندتر احساس می‌شوند.

    این موضوع برای سرویس‌هایی که درخواست‌های زیادی دارند اهمیت بیشتری پیدا می‌کند.

    برای مثال:

    سایت A:
    سرور نزدیک‌تر + پاسخ سریع‌تر

    سایت B:
    سرور دورتر + مسیر شبکه طولانی‌تر

    حتی اگر هر دو سایت روی اینترنتی با سرعت دانلود یکسان استفاده شوند، ممکن است سایت A بسیار سریع‌تر احساس شود.


    سرور کجاست؟

    یکی از عوامل مهم، موقعیت سرور است.

    فرض کنید یک وب‌سایت روی سروری در یک کشور قرار دارد و کاربر در کشور دیگری است. درخواست او باید از چندین نقطه شبکه عبور کند تا به مقصد برسد.

    اما این موضوع به معنی آن نیست که «هرچه سرور نزدیک‌تر باشد، همیشه سایت سریع‌تر است».

    مسیر واقعی اینترنت همیشه مستقیم نیست.

    ممکن است یک سرور از نظر جغرافیایی نزدیک باشد اما مسیر شبکه مناسبی نداشته باشد؛ در مقابل، سروری دورتر ممکن است از طریق یک مسیر بسیار سریع و پایدار پاسخ دهد.

    به همین دلیل، فاصله جغرافیایی تنها یکی از عوامل است.


    DNS فقط برای پیدا کردن IP نیست؛ زمان پاسخ آن هم مهم است

    پیش از برقراری ارتباط با سرور، سیستم باید بداند دامنه موردنظر به چه آدرس IPای اشاره می‌کند.

    این کار توسط DNS انجام می‌شود.

    اگر DNS پاسخ را با تأخیر زیادی ارائه کند، شروع فرآیند بارگذاری سایت نیز می‌تواند کمی عقب بیفتد.

    البته در بسیاری از مواقع این تأخیر آن‌قدر زیاد نیست که به‌تنهایی توضیح‌دهنده کندی شدید سایت باشد.

    به همین دلیل نباید هر مشکل سرعتی را به DNS نسبت داد.


    CDN چرا به وجود آمد؟

    یکی از راه‌حل‌های مهم برای کاهش زمان دسترسی کاربران، استفاده از CDN یا شبکه توزیع محتواست.

    در یک معماری ساده، تمام کاربران به یک سرور اصلی متصل می‌شوند.

    اما در معماری CDN، برخی فایل‌ها می‌توانند از نقاط مختلف شبکه در اختیار کاربران قرار بگیرند.

    برای مثال، فایل‌هایی مانند:

    • تصاویر
    • فایل‌های CSS
    • JavaScript
    • فونت‌ها

    می‌توانند از یک نقطه نزدیک‌تر به کاربر تحویل داده شوند.

    در نتیجه لازم نیست هر بار تمام اطلاعات از سرور اصلی دریافت شود.

    البته CDN نیز راه‌حل جادویی نیست. پیکربندی نادرست، کش نامناسب یا مشکلات مربوط به خود CDN می‌تواند نتیجه متفاوتی ایجاد کند.


    یک صفحه ممکن است از چندین سرور اطلاعات بگیرد

    این قسمت یکی از دلایل رایج کندی صفحات وب است که معمولاً دیده نمی‌شود.

    ممکن است HTML سایت از یک سرور دریافت شود، اما صفحه برای نمایش کامل خود به چند سرویس دیگر هم متصل شود.

    مثلاً:

    سرور اصلی سایت → HTML

    CDN → تصاویر

    سرویس فونت → فونت

    سرویس آمار → اطلاعات بازدید

    API → اطلاعات پویا

    در این شرایط، حتی اگر سرور اصلی بسیار سریع باشد، کندی یکی از سرویس‌های جانبی می‌تواند روی تجربه بارگذاری تأثیر بگذارد.


    پس چگونه بفهمیم مشکل از کجاست؟

    پس چگونه بفهمیم مشکل از کجاست؟

    به‌جای حدس زدن، می‌توانیم چند آزمایش ساده انجام دهیم.

    آزمایش اول: همان سایت را از شبکه دیگری باز کنید

    اگر سایت روی Wi-Fi کند است اما با اینترنت موبایل سریع باز می‌شود، باید شبکه یا مسیر اتصال را بررسی کرد.

    اگر در هر دو شبکه کند است، احتمالاً باید سراغ خود سایت یا سرور آن رفت.


    آزمایش دوم: مرورگر دیگری را امتحان کنید

    اگر سایت در Chrome کند است ولی در Firefox یا Edge سریع‌تر باز می‌شود، احتمال دارد بخشی از مشکل به مرورگر، افزونه‌ها، کش یا تنظیمات آن مربوط باشد.


    آزمایش سوم: ابزارهای توسعه‌دهنده مرورگر را ببینید

    در Chrome می‌توانید با فشردن:

    F12
    

    و سپس انتخاب بخش Network، درخواست‌های صفحه را مشاهده کنید.

    اینجا اطلاعات بسیار جالبی دیده می‌شود.

    مثلاً ممکن است متوجه شوید:

    • یک تصویر بیش از حد بزرگ است؛
    • یک فایل JavaScript دیر پاسخ می‌دهد؛
    • یک سرویس خارجی زمان زیادی برای پاسخ‌گویی می‌گیرد؛
    • یا خود HTML اصلی با تأخیر دریافت می‌شود.

    این اطلاعات بسیار دقیق‌تر از یک تست ساده سرعت اینترنت هستند.


    یک اشتباه رایج: مقایسه سایت با Speed Test

    تست‌های سرعت اینترنت معمولاً برای سنجش ظرفیت ارتباط شما طراحی شده‌اند.

    اما یک وب‌سایت مجموعه‌ای از درخواست‌های مختلف است.

    به همین دلیل این دو نتیجه می‌توانند هم‌زمان درست باشند:

    سرعت اینترنت شما عالی است.

    و:

    یک سایت مشخص برای شما کند باز می‌شود.

    هیچ تناقضی بین این دو وجود ندارد.


    چرا بعضی وقت‌ها همان سایت ناگهان سریع می‌شود؟

    اگر یک سایت یک بار کند و بار دیگر سریع باشد، چند احتمال وجود دارد.

    کش مرورگر

    بخشی از فایل‌های سایت قبلاً ذخیره شده‌اند و بار دوم نیازی به دریافت مجدد آنها نیست.

    کش CDN

    ممکن است محتوای موردنیاز از یک نقطه کش‌شده تحویل داده شود.

    تغییر مسیر شبکه

    مسیر ارتباطی میان کاربر و سرور همیشه یک مفهوم کاملاً ثابت و ساده نیست.

    تغییر وضعیت سرور

    ممکن است سرور در یک لحظه تحت بار بیشتری قرار داشته باشد و چند دقیقه بعد شرایط عادی شود.

    شاید بپسندید: چرا اینترنت دارم اما بعضی سایت‌ها باز نمی‌شوند؟ بررسی علت‌ها و روش عیب‌یابی


    آیا استفاده از ابزارهای تغییر مسیر اتصال، همیشه سرعت را کم می‌کند؟

    نه به‌صورت مطلق.

    وقتی یک سرویس واسطه در مسیر ارتباط قرار می‌گیرد، یک مرحله دیگر به مسیر اضافه می‌شود و این مرحله می‌تواند روی تأخیر تأثیر بگذارد.

    اما نتیجه به عوامل مختلفی بستگی دارد؛ از جمله:

    • محل سرور واسطه
    • کیفیت مسیر شبکه
    • میزان شلوغی سرور
    • پروتکل مورد استفاده
    • فاصله تا مقصد

    بنابراین نمی‌توان گفت هر اتصال واسطه‌ای الزاماً کند است یا هر اتصال مستقیم الزاماً سریع‌تر خواهد بود.

    مهم، مسیر واقعی و کیفیت آن است.


    جمع‌بندی در یک نگاه

    اگر یک سایت برای شما کند باز می‌شود، قبل از اینکه سرعت اینترنت خود را مقصر بدانید، این موارد را بررسی کنید:

    نشانهاحتمال قابل بررسی
    تمام سایت‌ها کند هستندشبکه یا اینترنت
    فقط یک سایت کند استسرور یا ساختار همان سایت
    سایت با اینترنت موبایل سریع استمسیر یا شبکه Wi-Fi
    فقط یک مرورگر کند استمرورگر، افزونه یا کش
    صفحه باز می‌شود ولی تصاویر دیر می‌آیندمنابع جانبی یا CDN
    شروع بارگذاری دیر اتفاق می‌افتدDNS، اتصال یا پاسخ اولیه سرور
    یک بار سریع و یک بار کند استکش، بار سرور یا شرایط مسیر
    تست سرعت عالی است ولی سایت کند استمشکل الزاماً از پهنای باند نیست

    در نتیجه، وقتی یک وب‌سایت کند باز می‌شود، بهتر است به اینترنت مثل یک «لوله با سرعت مشخص» نگاه نکنیم. ارتباط میان مرورگر و سایت یک زنجیره از چند مرحله است و کندی هر قسمت می‌تواند روی نتیجه نهایی اثر بگذارد.

    سرعت اینترنت مهم است، اما تنها چیزی نیست که سرعت وب را تعیین می‌کند.

    اگر بتوانیم تشخیص دهیم تأخیر دقیقاً در کدام مرحله ایجاد می‌شود، به‌جای تغییر تصادفی تنظیمات، می‌توانیم مشکل را هدفمندتر بررسی و برطرف کنیم.