مفاهیم پایه

پینگ و Latency چیست و چطور درست اندازه‌گیری کنیم؟

تهیه: کلودیفای (نگارش با کمک هوش مصنوعی) · انتشار: · زمان مطالعه: ۶ دقیقه

Latencyمفاهیم پایهپینگ و Latency چیست وچطور درست اندازه‌گیریکنیم؟مجلهٔ کلودیفایclodify.net/blog
پاسخ کوتاه

Latency یا تأخیر، زمانی است که طول می‌کشد داده از یک نقطه به نقطهٔ دیگر برسد؛ پینگ ابزاری است که زمان رفت‌وبرگشت (RTT) یک بستهٔ کوچک را اندازه می‌گیرد. عوامل اصلی تأخیر فاصلهٔ فیزیکی، تعداد و کیفیت گام‌های مسیر، شلوغی شبکه و نوع اتصال (وای‌فای، موبایل یا کابل) است. برای اندازه‌گیری درست، با ping چندین نمونه بگیرید، با mtr مسیر را بررسی کنید و به نوسان (Jitter) و گم‌شدن بسته (Packet Loss) هم توجه کنید.

Latency به زبان ساده

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

حتی اگر اینترنت شما بسیار پرسرعت باشد، تأخیر از بین نمی‌رود. سرعت (پهنای باند) می‌گوید در هر ثانیه چقدر داده جابه‌جا می‌شود؛ تأخیر می‌گوید هر تکه داده چقدر طول می‌کشد تا برسد. یک بزرگراه پهن (پهنای باند زیاد) می‌تواند طولانی هم باشد (تأخیر زیاد). برای دانلود یک فایل بزرگ، پهنای باند مهم‌تر است؛ برای بازی، تماس صوتی، ترید و کار با Remote Desktop، تأخیر.

سفر یک بستهٔ پینگ
وای‌فای یا کابلخروج از ISPرسیدن به مقصددستگاه شماارسال Echo Requestمودم و اپراتورشبکهٔ محلی و ISPمسیر اینترنتده‌ها روترسرورEcho Replyوای‌فای یا کابلخروج از ISPرسیدن به مقصددستگاه شماارسال Echo Requestمودم و اپراتورشبکهٔ محلی و ISPمسیر اینترنتده‌ها روترسرورEcho Reply
شکل ۱ زمان رفت و برگشت کل این مسیر، همان عددی است که ping گزارش می‌کند.

پینگ چیست؟

Ping نام ابزاری است که یک بستهٔ کوچک ICMP به نام Echo Request به مقصد می‌فرستد و منتظر پاسخ Echo Reply می‌ماند. زمانی که از ارسال تا دریافت پاسخ می‌گذرد، زمان رفت‌وبرگشت یا RTT است. در محاوره، به همین عدد هم «پینگ» می‌گویند.

ping -c 20 example.com

در ویندوز، پینگ به‌طور پیش‌فرض چهار بسته می‌فرستد؛ برای تعداد بیشتر از ping -n 20 example.com استفاده کنید. در پایان، خلاصه‌ای از کمترین، میانگین، بیشترین و انحراف معیار زمان‌ها و درصد بسته‌های گم‌شده نمایش داده می‌شود.

یک نکتهٔ مهم: برخی سرورها و فایروال‌ها به پینگ پاسخ نمی‌دهند. «پاسخ نگرفتن از پینگ» همیشه به معنای خاموش بودن سرور نیست. در این حالت، اتصال به پورت سرویس را بسنجید؛ مثلاً با curl یا nc -zv. دربارهٔ پورت‌ها در پورت شبکه چیست؟ بخوانید.

چه چیزی تأخیر را تعیین می‌کند؟

۱. فاصلهٔ فیزیکی

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

۲. مسیر شبکه

داده مستقیم از شما به سرور نمی‌رود؛ از ده‌ها روتر عبور می‌کند. اگر مسیر طولانی و پرپیچ‌وخم باشد، مثلاً ترافیک یک کشور همسایه از قارهٔ دیگری عبور کند، تأخیر بسیار بیشتر از فاصلهٔ مستقیم می‌شود.

۳. شلوغی و صف‌ها

وقتی لینکی پر می‌شود، بسته‌ها در صف روترها منتظر می‌مانند. این همان دلیلی است که پینگ در ساعت‌های شلوغ شب بالاتر می‌رود.

۴. شبکهٔ محلی شما

وای‌فای، به‌ویژه با سیگنال ضعیف یا تداخل زیاد، تأخیر و نوسان قابل توجهی اضافه می‌کند. اینترنت موبایل هم به وضعیت آنتن و شلوغی سلول بستگی دارد. اتصال کابلی پایدارترین گزینه است.

۵. پردازش در سرور

پینگ فقط تأخیر شبکه را می‌سنجد. اما وقتی سایتی را باز می‌کنید، زمان پردازش سرور هم اضافه می‌شود. سایتی با پینگ پایین ممکن است به‌خاطر سرور کند، دیر پاسخ دهد. برای این بخش، عیب‌یابی کندی سایت را ببینید.

پهنای باند یا تأخیر
پهنای باند (سرعت)
  • چقدر داده در هر ثانیه
  • مهم برای دانلود و استریم
  • با ارتقای اینترنت بیشتر می‌شود
در برابر
تأخیر (Latency)
  • هر بسته چقدر طول می‌کشد
  • مهم برای بازی، تماس و ترید
  • به فاصله و مسیر وابسته است
  • با سرور نزدیک‌تر کم می‌شود
شکل ۲ اینترنت پرسرعت می‌تواند تأخیر زیادی داشته باشد؛ این دو معیار مستقل‌اند.

Jitter و Packet Loss

دو معیار دیگر به همان اندازهٔ میانگین پینگ اهمیت دارند:

  • Jitter (نوسان): تغییرات زمان پینگ از یک بسته به بستهٔ بعد. حتی اگر میانگین پایین باشد، نوسان زیاد باعث لگ در بازی و قطع‌ووصل شدن صدا در تماس‌ها می‌شود. انحراف معیار (mdev) در خروجی ping تقریبی از آن است.
  • Packet Loss (گم‌شدن بسته): درصد بسته‌هایی که هرگز به مقصد نرسیده‌اند یا پاسخشان برنگشته است. حتی مقدار کم و پایدار آن روی کیفیت تماس و بازی اثر محسوسی دارد و در TCP باعث ارسال مجدد و کندی می‌شود.

اندازه‌گیری درست

یک پینگ تکی تقریباً هیچ چیزی نمی‌گوید. برای نتیجهٔ قابل اعتماد:

  1. تعداد نمونه را زیاد کنید: دست‌کم ۵۰ تا ۱۰۰ بسته.
  2. در ساعت‌های مختلف تکرار کنید: به‌ویژه ساعت‌های شلوغ شب.
  3. با کابل آزمایش کنید تا اثر وای‌فای حذف شود.
  4. از mtr استفاده کنید که پینگ را با مسیریابی ترکیب می‌کند و نشان می‌دهد تأخیر یا گم‌شدن بسته از کدام گام مسیر شروع می‌شود:
mtr -rwc 100 example.com

تفسیر کامل خروجی mtr و traceroute در راهنمای ping، traceroute و mtr آمده است.

چرا عدد ثابتی برای «پینگ خوب» نمی‌دهیم؟

پینگ مناسب به کاربرد و فاصله بستگی دارد. یک بازی رقابتی به تأخیر بسیار کمتری از مرور وب نیاز دارد، و پینگ از ایران تا اروپا ذاتاً بیشتر از پینگ تا یک سرور داخلی است. به‌جای مقایسه با اعداد کلی، این دو پرسش را بپرسید: آیا تأخیر و نوسان برای کاربرد من قابل تحمل است؟ و آیا لوکیشن یا مسیر دیگری نتیجهٔ بهتری می‌دهد؟ پاسخ را با آزمایش مستقیم پیدا کنید.

user@laptop: ~
$ ping -c 50 example.com64 bytes from 203.0.113.10: icmp_seq=1 ttl=54 time=...--- example.com ping statistics ---50 packets transmitted, 50 received, 0% packet lossrtt min/avg/max/mdev = .../.../.../...$ mtr -rwc 100 example.com$ 
شکل ۳ در خلاصهٔ ping به میانگین، بیشینه، mdev (نوسان) و درصد گم‌شدن بسته توجه کنید.

کاهش تأخیر

  • سرور نزدیک به کاربران: برای مخاطب ایرانی، سرور ایران کمترین فاصلهٔ شبکه‌ای را دارد.
  • CDN برای محتوای ثابت: نودهای CDN نزدیک به کاربر، تأخیر دریافت فایل‌ها را کم می‌کنند.
  • اتصال کابلی به‌جای وای‌فای در سمت کاربر.
  • کاهش تعداد رفت‌وبرگشت‌ها: HTTP/2 و HTTP/3، ترکیب فایل‌ها و کش، تعداد درخواست‌ها را کم می‌کنند.
  • انتخاب لوکیشن بر اساس آزمایش: لوکیشن‌های مختلف را با mtr مقایسه کنید.

اگر پینگ ناگهان بالا رفته یا گم‌شدن بسته دارید، پینگ بالا و Packet Loss را برای عیب‌یابی گام‌به‌گام ببینید.

پینگ در بازی و استریم

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

تأخیر در اپلیکیشن‌ها و APIها

برای توسعه‌دهندگان، تأخیر فقط یک عدد پینگ نیست. هر درخواست HTTPS پیش از ارسال اولین بایت داده، چند رفت‌وبرگشت نیاز دارد: یکی برای جست‌وجوی DNS، یکی برای دست‌دهی TCP و یک یا دو رفت‌وبرگشت برای دست‌دهی TLS. یعنی اگر پینگ تا سرور بالا باشد، این عدد چند برابر می‌شود و کاربر پیش از دریافت حتی یک بایت از پاسخ، منتظر می‌ماند.

راه‌حل‌های رایج: استفاده‌ی مجدد از اتصال‌ها (Keep-Alive) تا دست‌دهی تکرار نشود، HTTP/2 که چند درخواست را روی یک اتصال می‌فرستد، TLS 1.3 که دست‌دهی را کوتاه‌تر می‌کند، و قرار دادن سرور یا نودهای CDN نزدیک به کاربران. در اپلیکیشن‌های موبایل، کاهش تعداد درخواست‌های پشت سر هم هم اهمیت زیادی دارد؛ ده درخواست کوچک پشت سر هم روی شبکهٔ پرتأخیر، از یک درخواست بزرگ‌تر کندتر است.

ابزار curl می‌تواند سهم هر مرحله را جداگانه نشان دهد؛ نمونهٔ دستور را در مقالهٔ عیب‌یابی کندی سایت آورده‌ایم.

سؤالات متداول

پینگ و Latency یکی هستند؟

تقریباً. Latency به تأخیر کلی شبکه اشاره دارد و پینگ ابزاری است که زمان رفت‌وبرگشت یک بستهٔ کوچک را اندازه می‌گیرد. در محاوره، عدد خروجی پینگ را هم پینگ می‌نامند.

چرا پینگ من شب‌ها بالا می‌رود؟

در ساعت‌های شلوغ، لینک‌های شبکه پرتر می‌شوند و بسته‌ها در صف روترها منتظر می‌مانند. با mtr در ساعت‌های مختلف بررسی کنید از کدام گام مسیر افزایش شروع می‌شود.

سرور به پینگ جواب نمی‌دهد؛ یعنی خاموش است؟

نه لزوماً. بسیاری از سرورها و فایروال‌ها ICMP را مسدود می‌کنند. اتصال به پورت سرویس را با curl یا nc بسنجید تا وضعیت واقعی را بفهمید.

آیا اینترنت پرسرعت‌تر پینگ را کم می‌کند؟

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

آماده‌اید؟ سرورتان را بسازید.

از ۱٬۲۰۰ تومان در ساعت · پرداخت ریالی

سرورتان را همین حالا بسازید.

ساعتی بپردازید. هر وقت خواستید حذف کنید.