Latency چیست؟ لتنسی در لغت به معنی تاخیر زمانی است و به زمان مورد نیاز برای رسیدن داده به مقصد در شبکه اشاره دارد. این موضوع اهمیت زیادی در شبکه دارد چرا که برای ارائه کیفیت بهتر در خدمات اینترنتی لازم است تا زمان تاخیر را کاهش دهیم. این تاخیر در شبکه همواره وجود دارد و نمیتوان به کلی جلوی آن را گرفت. در یک بستر کسب و کار الکترونیک تاخیر و ناپایداری تا حدی قابل قبول است. اما برای سرورهای ارائه دهنده بازی های آنلاین، حتی ۳۰ میلیثانیه هم قابل قبول نیست.
Latency چیست و چه عاملی سبب تاخیر و کندی می شود؟
تاخیر یا Latency، جزء جداییناپذیر از معماری اینترنت است. جریان پیوسته دادههای آنلاین روی سرورها به بستههای اختصاصی دیتا تقسیم میشود. هر بسته (Packet)، حداقل از درون یک شبکه پر ازدحام، عبور کرده و در عرض چند میلیثانیه مسیریابی میشود. به این معنی که ممکن است سه بسته متوالی، مسیرهای بسیار متفاوتی را برای رسیدن به مقصد طی کنند. هر روتر، سرور یا هر نود توزیعی در شبکه، یک مقدار تاخیر به زمان کلی تاخیر اضافه میکند. این موضوع برای مسافت فیزیکی طی شده توسط کابلهای فیبر نوری هم صدق میکند.
این تاخیر زمانی در مورد مسافتهای کوتاه که سرور و کاربر نهایی نزدیک هستند زیاد به چشم نمیآید. با این حال، مشکل زمانی بروز پیدا خواهد کرد که سرور فاصله زیادی با کاربر نهایی دارد و لازم است تا جابجاییهای زیادی در شبکه انجام شود. در این صورت است که کاربرانی که از سرور بازیهای آنلاین استفاده میکنند ممکن است با تاخیرهای رنجآور در شبکه روبرو شوند.
عامل دیگر تاخیر، ظرفیت کم سرورهای شبکه است. به عنوان مثال، اگر یک سرویس جریان داده بر اثر بار ترافیکی زیاد فراخوانی نشود، دچار ناپایداری در سرویسدهی و کاهش کارایی میشود. این موضوع برای شبکههای تلفن همراه در سمت کاربر هم بسیار محسوس است. با وجود توسعه این شبکهها به سمت شبکههای 3G یا 4G، هنوز در بعضی از مواقع، شاهد افت کیفیت بازیها و پادکستهای آنلاین هستیم.
بیشتر بخوانید: NAT چیست و چگونه کار میکند؟ بررسی انواع و مزایا و معایب NAT
انواع Latency در شبکه چیست؟
انواع Latency چیست؟ باید به این نکته اشاره کنیم که نرخ تاخیر شبکه در مدلهای مختلفی خود را ظاهر میکند و باعث ایجاد تاخیر زمانی در زمان انتقال دیتا یا پردازش آن میشود. در این بخش بیشتر با انواع Latency آشنا خواهیم شد.
تاخیر پردازش (Processing Delay)
پردازش دیتا در بخشهای مختلف شبکه یا روی دستگاههای مختلف باید انجام شود. این موضوع در بسیاری از موارد باعث ایجاد تاخیری خواهد شد که ممکن است اذیت کننده باشد. فرآیندهایی مانند بررسی سر برگها و انجام اعتبارسنجی دیتاها در این دسته قرار خواهند گرفت.
تاخیر انتقال (Transmission Delay)
این میزان از تاخیر به مدت زمانی معین گفته میشود که طی آن لازم است تا بیتهای داده از یک نقطه به نقطه دیگر منتقل شوند. تاخیر زمانی ناشی از انتقال مربوط به محدودیت فیزیکی است که شاید به دلیل کابلها یا شبکه فیبر نوری باشد.
تاخیر صف (Queueing Delay
دادهها در بسیاری از موارد باید در یک صف منتظر بمانند تا در قدمهای بعدی به مقصد ارسال شوند. این منتظر ماندن ممکن است زمان زیادی را به خود اختصاص دهد و در صورت کم بودن پهنای باند یا نرخ بالای تبادل دیتا حتی امکان بروز تاخیرهای بسیار بیشتر نیز وجود دارد.
تاخیر انتظار (Propagation Delay)
تاخیر Propagation مرتبط با انتشار دیتا از طریق امواج است. برای مثال یک دستگاه وایفای را در نظر بگیرید که در آن دیتاها با استفاده از امواج فرکانس بالا از مودم خارج شده و به دستگاه مورد نظر وارد میشوند. این انتشار دارای یک تاخیر زمانی است.
تاخیر جستجو (Search Delay)
در دنیای شبکه یک تاخیر معروف وجود دارد که با نام Search Delay شناخته میشود. این موضوع به مدت زمانی گفته میشود که دستگاه برای ارسال دیتا به دنبال جستجوی بهینهترین مسیر است. به هر حال، پس از مسیریابی مناسب و بهینه، دیتای مورد نظر به سمت دستگاه نهایی ارسال میشود اما باز هم ممکن است زمان تاخیر محسوس باشد.
نتایج مشکل ساز تاخیر در شبکه
دقت در این امر حائز اهمیت است که رساندن تاخیر Latency شبکه به صفر تقریبا امری ناممکن است. البته که در دنیای امروزی فناوریهای مدرنی عرضه شده است و سرعتها تا حدود غیر قابل باوری بالا است.
در حالی که تاخیر 10 هزارم ثانیه برای چشم انسان، محسوس نیست، اما باز هم تاخیر در پاسخگویی در ارتباط بین هاست کاربر و تجهیزات گیرنده، مشهود است. در واقع، برای شرکتهای خدمات مالی، کمترین میزان تاخیر هم قابل توجه است. زیرا امروزه تجارت مدرن با استفاده از الگوریتمهای محاسبات سریع، پاسخگوی وقایع و رویداد (Event) های زنده در دنیای اینترنت است. طبق آمارها فقط با کاهش تاخیر به اندازه 1 هزارم ثانیه، میتوان فقط در موسسه مالی brokerage، به میزان 100 میلیون دلار در سال صرفه جویی کرد.
محدوده زمانی تاخیر در بازیهای مختلف با همدیگر تفاوت دارد. به عنوان مثال، در یک بازی شطرنج آنلاین، تاخیر باید زیر ۱۰۰ میلیثانیه باشد، در حالی که در بازیهای مبارزهای و تفنگی، این تاخیر باید زیر ۳۰ میلی ثانیه باشد. هر گونه کاهش در کیفیت گرافیکی و بروز تاخیر در بازیهای آنلاین، تجربه ناخوشایندی را برای این گونه بازیها به وجود میآورد که این موضوع برای سرویسهای بازی آنلاین، کاملا غیر قابل قبول است.
مدیریت تاخیر و کندی در مورد سرویسهای Real Time هم از اهمیت بالایی برخوردار است. برای مثال، زمانی که شما در شرکت خود نیاز به برقراری یک ویدیو کنفرانس دارید، لازم است تا این کار با کمترین میزان تاخیر زمانی در شبکه انجام پذیرد.
به همین دلیل است که کاربران دنیای فناوری همواره به دنبال وب سایتها یا پلتفرمهایی هستند که سریع عمل میکنند و کمترین میزان Latency را در اختیارشان قرار میدهند. اگر برایتان سوال است که مزیت کاهش Latency چیست؟ باید بگوییم که این کاهش تاخیر تجربه کاربری بسیار بهتری را در اختیار کاربران دنیای شبکه قرار خواهد داد.
تفاوت Latency و Ping چیست؟
در بسیاری از موارد، کاربران دنیای فناوری تفاوتی بین پینگ و Latency قائل نیستند و بر همین اساس است که این دو را به جای هم استفاده میکنند. با این حال مطمئنا باید تفاوتهای جزئی این دو مفهوم را در نظر داشته باشیم.
- پینگ یک روش نرم افزاری بسیار پرکاربرد در دنیای شبکه است که با استفاده از آن میتوان اتصال شبکه با یک بخش دیگر را کنترل کرد.
- مفهوم Latency به مدت زمانی اشاره دارد که کاربر میتواند نتیجه یک درخواست را از سرور دریافت کرده و روی سایت آن را مشاهده کند.
به طور کلی، هر اندازه میزان پینگ و Latency شبکه کاهش پیدا کند میتوان رضایت و تجربه کاربری بهتری را برای کاربران فراهم کرد. روشهای بسیار زیادی برای کاهش دادن این زمانها در شبکه وجود دارد که کارشناسان نرمافزار و سختافزار میتوانند آنها را عملی کنند.
بیشتر بخوانید: پینگ چیست و چه تاثیری بر سرعت اینترنت شما دارد؟
اثبات تاخیر در شبکه؛ روش های مهم و قابل اتکا
تشخیص و شناسایی تاخیر، میتواند یک چالش باشد. اما این کار با ابزارهای آنلاین امری امکانپذیر است. در گام اول، استفاده از دستور Ping در شبکه برای تست اتصال و حضور یک سرور یا ایستگاه کاری در مقصد، مفید است. در این روش بستهای از داده به سرور مورد نظر ارسال میشود و در صورت پاسخ دادن سرور میتوان میزان تاخیرها را محاسبه کرده و اطلاعات مورد نظر را در اختیار داشت.
سادهترین راه برای شناسایی تاخیر، محاسبه نرخ سرعت انتقال بیت و کدینگ ابزارهای میانی در شبکه است. قبل از انتقال یک فایل با حجم بالا با توجه به ظرفیت پهنای باند، فایلها به چند بخش با کیفیتهای متفاوت تقسیم میشوند. در سرویسهایی که در آن نیاز به انتقال یک جریان از دیتا است، در چند ثانیه اول، حجم دادهها به صورت تکهتکه ارسال میشود تا بتوان از روی آن اطلاعات مورد نیاز را به دست آورد.
افسانه کاهش Latency
متخصصان شبکه و برنامه نویسها همواره از روشهای مختلفی استفاده کردهاند تا بتوانند سرعت شبکه را افزایش داده و میزان تاخیرهای زمانی را به حداقل مقدار خود برسانند. البته، این موضوع در بعضی از موارد بینتیجه مانده است. این به دلیل آن است که کاهش Latency نیاز به اتخاذ یک استراتژی کامل و بینقص دارد. در عمل، باید چند روش با هم به کار گرفته شوند تا بتوان میزان تاخیر زمانی را تا حدود مناسبی کاهش داد.
برای نمونه، یک روش کاهش حجم ویدیوها و فایلهای تصویری است. همچنین، همواره شبکه باید در مورد بد افزارها مورد اسکن قرار بگیرد تا در صورت مشاهده مشکلی خاص به زودی بتوان آن را برطرف کرد.
بهترین روش کاهش Latency چیست؟
روشهایی برای کاهش دادن میزان Latency وجود دارد که با اجرایی کردن آن میتوان کیفیت اینترنت را تا حدود زیادی بهبود داد. در این بخش با بهترین این روشها بیشتر آشنا میشویم:
استفاده از شبکه توزیع محتوا یا همان cdn
استفاده از شبکههای توزیع محتوا یا همان cdn کمک زیادی خواهد کرد تا بتوان میزان Latency را تا حدود زیادی کاهش داد. از دلایل مهم افزایش این عدد فاصله داشتن سرور و کاربر نهایی است. شبکههای توزیع محتوا این مشکل را برطرف کردهاند.
بیشتر بخوانید: CDN چیست؟ آموزش نحوه نصب CDN و مزایای CDN
خواندن اطلاعات از کش مرورگر
برنامهنویسان میتوانند مشکل خواندن اطلاعات را با روشهای متعددی برطرف کنند. یکی از این روشها متکی بودن به کش مرورگر در مورد دادههایی است که مدام نیاز به رفرش شدن ندارند. فناوریهای مدرن توسعه وبسایت هم دقیقا بر همین اصل تکیه دارند.
کاهش درخواست HTTP خروجی
ارسال و دریافت درخواستها به سرور با استفاده از رابط های API انجام خواهد شد. هر اندازه برنامهنویس و توسعه دهنده بکاند تعداد این درخواستها را کاهش دهد، امکان کاهش زمان Latency هم وجود دارد.
کاهش حجم فایلها و تصاویر
یک اصل اساسی در مورد کاهش سرعت بارگذاری صفحات سایت وجود دارد. این اصل روی کاهش حجم تصاویر و حتی فایلهای ویدیویی تمرکز دارد و میتوان با این روش تا چند ثانیه سرعت لود شدن سایتها را بهینه کرد.
افزایش میزان پهنای باند
شما پس از تماس با شرکت ارائه دهنده سرور میتوانید میزان پهنای باند شبکه را تا حدود زیادی بالا ببرید. البته، این کار در صورتی نیاز است که نیاز به پهنای باند بالایی برای تبادل فایلهای حجیم داشته باشید.
این کار دارای هزینه است و با پرداخت هزینه امکان افزایش میزان پهنای باند تا اندازه تعریف شده فراهم خواهد بود.
استفاده از روش های نرم افزاری
یک روش برای کاهش تاخیر، شامل تجزیه و تحلیل الگوریتمهای مسیریابی داده است. پروتکلهای مسیریابی متفاوتی برای انتقال بستههای دیتا وجود دارد که با پارامترهای مسیریابی مختلفی از جمله Cost، Metric و … کار میکنند. در این حالت، بستههای داده به مسیرهایی با کمترین تاخیر ارسال میشود. به عنوان مثال، ارائه دهندگان سرویسهای ویدیو آنلاین از تکنیکهای پیشرفتهای برای ارسال جریان داده و فریم به فریم تصاویر استفاده میکنند.
پیشرفت فناوری
تکنولوژی 5G در شبکههای تلفن همراه، با تاخیر 1 هزارم ثانیهای انقلابی در صنعت فناوری به وجود آورده است. سرعت آپلود در این تکنولوژی میتواند 100 برابر سریعتر از تکنولوژی 4G باشد. البته، توسعه این فناوری در تمامی نقاط کشور با سرعت بالا کمی زمانبر است اما به زودی شاهد حضور این فناوری در نقاط مختلف برای بهبود تجربه کاربری خواهیم بود.
کلام آخر
در این مقاله سعی کردیم به سوال Latency چیست پاسخ دهیم و شما را با روشهای کاهش آن آشنا کنیم. انتخاب یک ارائه دهنده هاستینگ سایت مناسب در کاهش تاخیرهای زمانی Latency اهمیت بالایی دارد. نمیتوان تاخیر را به طور کامل از بین برد، اما با افزایش ظرفیت منابع سخت افزاری سرورها از جمله پردازنده و حافظه میتوان تاثیر آن را کاهش داد. کاهش تاخیر به زیر ۲۵ هزارم ثانیه برای انسان قابل تشخیص نیست و این موضوع برای بیشتر نیازهای امروزی ما کافی است. در این حوزه، سرورهای ارائه شده ایران سرور در خارج پینگی در حدود ۹۰ تا ۱۰۰ دارند و سرورهای داخلی نیز پینگی حدود ۳۰ تا ۵۰ در اختیارتان قرار میدهند.
سوالات متداولی که شما میپرسید؟
1. مفهوم Latency چیست و چطور میتوان آن را کاهش داد؟
این مفهوم به زمانی اشاره دارد که یک داده در شبکه به مقصد میرسد. با استفاده از افزایش پهنای باند، بهینهسازی وبسایت و بهبود کیفیت اینترنت میتوان میزان Latency شبکه را کاهش داد.
2. زمان Latency به چه عواملی در شبکه بستگی دارد؟
زمان Latency به عوامل مختلفی در شبکه بستگی دارد که از آن جمله میتوان به مسافت فیزیکی، نوع ارتباط، کیفیت سرویس و بار ترافیکی اشاره کرد.
منابع: