وقتی میگوییم یک سرور «پینگ پایین» دارد، منظورمان این است که دادهها سریعتر بین کاربر و سرور رفت و برگشت میکنند. Ping و Latency از مهمترین عوامل سرعت حسشده یک سایت، بازی آنلاین یا اپلیکیشن هستند، حتی وقتی پهنای باند زیاد باشد. در این مقاله توضیح میدهیم Ping و Latency چیست، چه عواملی آن را تعیین میکند، چه اثری روی سرعت دارد و چطور آن را اندازه بگیریم و کاهش دهیم.
فهرست مطالب
Latency، RTT و Ping
- Latency (تأخیر): زمانی که طول میکشد داده از مبدأ به مقصد برسد.
- RTT (زمان رفت و برگشت): زمان رفتن یک بسته و برگشتن پاسخ آن. بیشتر وقتی از تأخیر صحبت میشود، منظور RTT است.
- Ping: ابزاری که با ارسال بستههای ICMP، RTT را اندازه میگیرد. در عمل، عدد خروجی آن را هم «پینگ» مینامیم.
تأخیر با میلیثانیه (ms) سنجیده میشود. تفاوت آن با پهنای باند مهم است: پهنای باند «عرض جاده» است و تأخیر «طول جاده». جاده عریض باعث نمیشود مسیر کوتاهتر شود. تفاوت پهنای باند و ترافیک را هم در ترافیک ارسالی و ورودی سرور توضیح دادهایم.
چه عواملی تأخیر را تعیین میکنند؟
- فاصله فیزیکی: نور در فیبر نوری حدود ۲۰۰ هزار کیلومتر بر ثانیه حرکت میکند؛ یعنی هر هزار کیلومتر مسیر حدود ۵ میلیثانیه تأخیر یکطرفه و ۱۰ میلیثانیه رفت و برگشت اضافه میکند. این حد فیزیکی قابل دور زدن نیست.
- مسیر شبکه: بستهها مستقیم نمیروند؛ مسیر واقعی ممکن است چند برابر فاصله مستقیم باشد، بهخصوص در مسیرهای بینالمللی.
- تعداد گرهها و ازدحام: هر روتر و سوییچ در مسیر کمی تأخیر اضافه میکند و در زمان شلوغی، صف شدن بستهها تأخیر را بیشتر میکند.
- شبکه دسترسی کاربر: اینترنت موبایل و Wi-Fi شلوغ معمولاً تأخیر و نوسان بیشتری از فیبر یا کابل دارند.
- پردازش سرور: سروری که زیر بار سنگین است، دیرتر پاسخ میدهد؛ این بخش در Ping دیده نمیشود، اما کاربر آن را حس میکند.
اثر تأخیر بر سرعت سایت
بارگذاری یک صفحه وب فقط یک رفت و برگشت نیست. قبل از دریافت اولین بایت، مرورگر باید:
- نام دامنه را از DNS بپرسد.
- اتصال TCP برقرار کند.
- Handshake مربوط به TLS را انجام دهد.
- درخواست HTTP را بفرستد و پاسخ را دریافت کند.
هرکدام از این مراحل یک یا چند RTT میگیرد. با تأخیر ۱۵۰ میلیثانیه، فقط برقراری اتصال امن ممکن است چند صد میلیثانیه طول بکشد؛ قبل از اینکه حتی سرور شروع به ارسال صفحه کند. سپس مرورگر دهها فایل CSS، JS و تصویر را دریافت میکند. HTTP/۲ و HTTP/۳ با استفاده از یک اتصال برای چند درخواست و Handshake کوتاهتر، اثر تأخیر را کم میکنند، اما حذف نمیکنند. به همین دلیل محل سرور و CDN برای معیارهایی مثل TTFB و LCP اهمیت زیادی دارند.
تأخیر قابل قبول برای کاربردهای مختلف
| کاربرد | تأخیر خوب | حساسیت |
|---|---|---|
| وبسایت | کمتر از ۱۰۰ میلیثانیه | متوسط؛ با CDN و کش قابل جبران |
| تماس صوتی و تصویری | کمتر از ۱۵۰ میلیثانیه یکطرفه | بالا؛ نوسان هم مهم است |
| بازیهای رقابتی آنلاین | کمتر از ۵۰ میلیثانیه | بسیار بالا |
| دسکتاپ از راه دور | کمتر از ۵۰ تا ۸۰ میلیثانیه | بالا |
| دانلود فایل و ویدیو آفلاین | کماهمیت | پهنای باند مهمتر است |
| APIهای داخلی بین سرورها | هرچه کمتر بهتر | درخواستهای زنجیرهای تأخیر را جمع میکنند |
Jitter و Packet Loss
- Jitter: نوسان تأخیر بین بستهها. پینگ متوسط ۴۰ میلیثانیه با نوسان ۱۰ تا ۲۰۰ برای بازی و تماس صوتی بدتر از پینگ ثابت ۷۰ است.
- Packet Loss: درصد بستههایی که به مقصد نمیرسند. حتی ۱ تا ۲ درصد از دست رفتن بسته، سرعت اتصالهای TCP را بهشدت کاهش میدهد و در بازی و تماس صوتی باعث پرش و قطعی میشود.
اندازهگیری تأخیر
ping -c 20 example.com
mtr -rwc 50 example.com
pingمیانگین، کمینه، بیشینه و درصد از دست رفتن بسته را نشان میدهد.mtr(در ویندوز WinMTR) تأخیر و Packet Loss را برای هر گره مسیر نمایش میدهد و محل مشکل را مشخص میکند.- برای سنجش تجربه واقعی وب،
curl -w "%{time_connect} %{time_appconnect} %{time_starttransfer}\n" -o /dev/null -s https://example.comزمان اتصال، TLS و اولین بایت را جداگانه نشان میدهد.
توجه کنید برخی سرورها و فایروالها به ICMP پاسخ نمیدهند یا آن را با اولویت پایین پاسخ میدهند؛ پس نبود پاسخ Ping لزوماً به معنای قطعی سرور نیست.
روشهای کاهش تأخیر
- سرور را نزدیک کاربران قرار دهید. برای مخاطب ایرانی، سرور داخل کشور؛ مقایسه در VPS ایران یا خارج.
- از CDN استفاده کنید تا فایلهای ثابت از نزدیکترین نقطه به کاربر تحویل داده شوند.
- HTTP/۲ یا HTTP/۳ و TLS ۱.۳ را روی وبسرور فعال کنید.
- تعداد درخواستها را کم کنید: فایلها و اسکریپتهای خارجی کمتر. روشها در افزایش سرعت وردپرس.
- سرورهای وابسته را کنار هم بگذارید: اپلیکیشن و دیتابیس در یک دیتاسنتر و روی شبکه خصوصی.
- سرور را از بار سنگین دور نگه دارید تا زمان پردازش به تأخیر شبکه اضافه نشود.
سوالات متداول
پینگ خوب برای وبسایت چقدر است؟
برای کاربران داخل همان کشور، زیر ۳۰ تا ۵۰ میلیثانیه عالی است. تا ۱۰۰ میلیثانیه برای وبسایت قابل قبول است، بهخصوص با CDN و کش.
آیا افزایش پهنای باند پینگ را کم میکند؟
خیر. پهنای باند ظرفیت انتقال است و تأخیر به فاصله و مسیر بستگی دارد. فقط اگر اتصال در حال اشباع باشد، افزایش ظرفیت با کاهش صف، تأخیر را بهتر میکند.
چرا پینگ من به یک سرور در ساعات خاصی بالا میرود؟
معمولاً به دلیل ازدحام در مسیر شبکه یا شبکه اینترنت خودتان در ساعات اوج. با mtr میتوانید ببینید تأخیر از کدام گره مسیر آغاز میشود.
برای سرور بازی، پینگ مهمتر است یا پردازنده؟
هر دو. پینگ کم برای بازیکنان و پردازنده با فرکانس بالا برای خود سرور بازی. سرور را نزدیک به بیشتر بازیکنان انتخاب کنید.
سرور نزدیک به کاربران شما
با سرورهای مجازی تراست هاست در داخل کشور، تأخیر کاربران ایرانی را به حداقل برسانید؛ برای بازی هم سرور گیم را ببینید.