Некоторые интересные биты о задержке

  1. Что такое латентность?
  2. Источники задержки
  3. Некоторые примеры
  4. Выводы

В недавней статье мы говорили о сервере   Провел   и как мы можем предвидеть связанные проблемы В недавней статье мы говорили о сервере Провел и как мы можем предвидеть связанные проблемы. На этот раз мы поговорим о другой общей концепции, связанной с сетями в целом: задержка.

Вы подключены к Интернету? Вы заходите на какой-нибудь удаленный сайт? Ты играешь в онлайн игры? Есть ли у вас видео конференции? Если это так, то сетевая задержка - это то, о чем вы должны беспокоиться.

Читайте дальше, чтобы узнать пару интересных моментов об этом.

Что такое латентность?

Давайте вернемся к основам. Задержка - это мера задержки в любой конкретной системе, в нашем случае мы особенно заботимся о «задержке в сети», которая представляет собой задержку, которую вы получаете при подключении к удаленной системе по сети. Вы можете попробовать более подробное объяснение, Вот ,

Каждый раз, когда вы подключаетесь к веб-сайту, вы отправляете и получаете пакеты через Интернет, который является не чем иным, как большой сетью сетей. Ваши пакеты будут автоматически и прозрачно перемещаться к месту назначения, и хотя за кулисами происходит множество операций, нам, как правило, об этом не нужно беспокоиться. Конечный результат? Кадр с видео, веб-страница с изображениями в нашем браузере, информация о положении монстра в игре или наши последние электронные письма.

Сказать, что этот уровень абстракции важен, значит преуменьшение. Благодаря этому умному способу скрыть то, что происходит внутри, мы можем беспокоиться о том, что мы делаем лучше всего в нашей работе, в свободное время или в образовательных начинаниях.

Что нас беспокоит, так это количество задержек, которые у нас есть, так как это влияет на нас напрямую. Это брат, пропускная способность, так же важно (или больше в некоторых случаях). Большая пропускная способность даст нам больше пакетов, поступающих в одно и то же время, и как только начальное соединение было установлено, задержка обычно не является проблемой.

Но для некоторых видов услуг это проблема. И это связано с тем, как работает основной язык Интернета (протокол, называемый TCP / IP). Видите ли, используя TCP при отправке пакета, вы должны получить подтверждение того, что он был получен сервером, а затем, как только он вернется, мы можем отправить новый. Есть еще один, менее надежный, названный UDP, но давайте не будем останавливаться на этой территории.

Источники задержки

Итак, что конкретно может повлиять на задержку в сети? Даже с учетом сложной мировой топологии сети мы можем точно утверждать, как и откуда возникают задержки.

Прежде всего, каждый раз, когда вы подключаетесь к серверу, ваш запрос проходит через ряд узлов по всему миру. Прежде всего, он идет к вашему провайдеру, а затем находит самый короткий доступный маршрут оттуда. Как вы можете себе представить, чем дальше сервер, тем больше узлов должен пройти пакет. Чтобы добавить сложности, эти узлы контролируются разными компаниями, в разных странах, с разными политиками и оборудованием. Каждый из этих узлов увеличивает конечную задержку.

Иногда невозможно не задуматься о том, как все это работает непрерывно для миллионов людей каждый день.

Выше вы можете увидеть топологию подводных кабелей, с сайта Подводная Кабельная Карта , Существуют и другие типы соединений, например, через спутник или через заземляющий кабель.

К счастью и в большинстве случаев (если вам не очень повезло с вашим провайдером и местоположением), это не представляет проблемы. Но это не единственный источник задержки, у нас также есть оборудование для конечных точек. Правильно, вы можете иметь лучшее соединение с сервером, вы даже можете сидеть за углом, где расположен центр обработки данных, но если этот конкретный сервер работает неправильно, вы могли бы добавить задержку или, что еще хуже, потерю пакетов. Аппаратные проблемы, как правило, связаны с неисправным кабелем, насыщенным маршрутизатором, проблемами с питанием всех видов или многими страшными вещами, о которых у системных администраторов возникают кошмары.

Другим источником задержки является программное обеспечение. Опять же, вы можете иметь лучшее оборудование и расположение по отношению к центру обработки данных, но если программное обеспечение не сможет обработать ваши запросы достаточно быстро, у вас будет некоторая дополнительная задержка, которая может сильно варьироваться.

И последнее, но не менее важное: свет - это ограничение. Да, вы слышали это правильно. И проблема заключается главным образом в том, как переносить свет и преобразовывать цифровые сигналы в свет через оптоволокно, а затем обратно. И даже без этого ограничения, обход по всему земному шару имеет несколько заметных миллисекунд для сайтов, которые требуют меньше возможной задержки. Интересно читать, прямо здесь, в Википедии ,

Стоит отметить, что все это имеет среднюю задержку сети в нормальных условиях. Следует ожидать всплесков, которые могут быть связаны с непредвиденными обстоятельствами, которые могут быть стихийным бедствием, атакой отказа в обслуживании, человеческой ошибкой, отключением кота по кабелю или неисправным программным обеспечением. Потрясающе, не правда ли?

Некоторые примеры

Давайте посмотрим на некоторые конкретные примеры задержки в реальном мире. Ниже приведен график, демонстрирующий различные ситуации:

Интересно отметить, что он может сильно варьироваться, от нескольких миллисекунд до нескольких сотен. Конечно, латентность против Марса - это то, что, если мы не НАСА, нам не о чем беспокоиться.

Говоря о каком-то конкретном использовании, у нас может быть приблизительный пример того, какой диапазон задержки может работать в нескольких распространенных ситуациях.

Обычные сайты

Обычный веб-сайт - это обычный ежедневный веб-сайт, который вы загружаете по утрам или регулярно проверяете. В этом случае задержка обычно не является проблемой. Сайт может быть расположен очень далеко, где задержка превышает 500 мс, и вы все равно, вероятно, не заботитесь об этом. В связи с этим обеспечение удовлетворения спроса с несколькими серверами имеет первостепенное значение. Крайние задержки в этом случае обычно связаны с неэффективным оборудованием или неисправным программным обеспечением.

Допустимый диапазон задержки: 100-800 мс.

Тяжелые сайты

Тяжелые веб-сайты - это те, которые имеют большое количество ресурсов, файлов JavaScript, изображений и т. Д. Задержка в этом отношении может повлиять на загрузку сайта из-за того, что с разными серверами устанавливается множество соединений. Активные сайты облегчают эту проблему благодаря наличию зеркальных сайтов в нескольких регионах через собственные центры обработки данных сторонних служб (обычно называемые CDN или Content Delivery Networks).

Допустимый диапазон задержки: 50-400 мс.

Сетевые удаленные системы

В этом мире, который все чаще подключается к сети, определенно не случайно, что ваша компания использует удаленную систему через Интернет. Скорее всего, вы перешли из автономного приложения и ожидаете быстроты реагирования, задержки напрямую связаны с этим. Вы заметите высокую задержку, если будете использовать для мгновенного получения информации с экрана. В этой ситуации местоположение центра обработки данных имеет значение.

Допустимый диапазон задержек: 30-300 мс.

Казуальная онлайн игра (фейсбук, интернет)

Игры сейчас являются важной частью Интернета, и в них играют в Facebook и онлайн-игры миллионы людей по всему миру. Эти игры, как правило, загружаются полностью перед началом игры (прозрачно, например, как приложение Flash) или играются с минимальной задержкой. Это означает, что выполняемые вами действия имеют порядок секунд, и поэтому разработчики проявили достаточную смекалку, чтобы спроектировать игровой процесс вокруг него, имитируя некоторые действия в вашем браузере и используя сервер в качестве окончательного авторитетного показателя, когда решить, было ли это действие законным.

Допустимый диапазон задержек: 200-1000 мс

Экшн-игры (шутеры от первого лица или игры типа DOTA 2 или League of Legends)

Экшн-игры - это те, в которых вам нужны быстрые рефлексы, быстрое прицеливание и доли секунды для выполнения действия. Задержка здесь имеет первостепенное значение, поскольку разница между проигрышем или выигрышем может составлять несколько миллисекунд. И вы можете представить ярость, которую это вызывает, когда вы убедились, что тренировались достаточно усердно, только чтобы понять, что проиграли, потому что были дальше от сервера.

Компании пытаются решить эту проблему, устанавливая серверы, распределенные по всему миру, чтобы дать всем игрокам равные возможности.

Допустимый диапазон задержек: 10-150 мс.

Фондовая биржа

Представьте себе сделку на продажу, где на карту поставлены тысячи долларов (или даже больше). А теперь представьте, что конкурент только что купил то же, что и вы, 10 мс раньше. Можно увидеть, насколько чрезвычайно важна задержка в этом случае. Естественно, не все так просто и не менее важна надежность транзакций. Многие компании даже имеют свою собственную частную сеть, напрямую подключенную к серверам, чтобы убедиться, что информация не была изменена и может перемещаться как можно быстрее.

Допустимый диапазон задержек: 5-100 мс.

Удаленное администрирование: Linux

Управление удаленными серверами (например, в Городское Облако ) требуется подключение к оболочке, большую часть времени через SSH. Так как это текстовая система, а команды короткие и простые, нам не требуется очень низкая задержка. Конечно, печать персонажа на экране как можно быстрее сделает вашу жизнь проще, если вы совершите много ошибок, но даже если это так, это не представляет особой проблемы.

Допустимый диапазон задержки: 50-500 мс.

Удаленное администрирование: Windows

Администрирование Windows требует использования служб терминалов, которые основаны на графике. В связи с этим отправка вам как можно большего количества кадров экранной информации является ключевым фактором, гарантирующим бесперебойную работу. К сожалению, чем выше задержка, тем хуже она становится, и хотя вы все еще можете работать на машине с Windows с задержкой более 1 секунды, обычно это не рекомендуется.

Допустимый диапазон задержки: 50-250 мс.

Выводы

Как вы можете видеть, мы достигли точки, где нет места на Земле, куда мы не можем добраться с помощью наших сетей. Мы можем управлять сервером в Антарктиде, а затем играть в игру с нашими друзьями в Интернете, мы можем увидеть фотографии с далекого веб-сайта, а затем загрузить большой файл со всего мира.

Задачи сейчас направлены не на то, чтобы добраться дальше, а на том, как нам соединить как можно больше людей и по очереди. И еще большие проблемы должны быть связаны с тем, как сохранить эту информацию нейтральной и доступной отовсюду. Другими словами, децентрализация и демократизация.

Что все это означает с точки зрения латентности, так это то, что со временем она будет становиться все ниже и ниже.

Что такое латентность?
Вы подключены к Интернету?
Вы заходите на какой-нибудь удаленный сайт?
Ты играешь в онлайн игры?
Есть ли у вас видео конференции?
Что такое латентность?
Конечный результат?
Потрясающе, не правда ли?