Немного об оптимизации задержки передачи данных

Низкая задержка — важный фактор, обеспечивающий надежную работу и высокую производительность сетей. Приложения для общения в реальном времени, стриминга и проведения транзакций сильно зависят от времени ожидания. Увеличение задержки всего на несколько миллисекунд может привести к искажению изображения и голосов, «зависанию» приложений и финансовым потерям.

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

31515866366b4cfdae966e799249309f.jpg
/ фото Thomas Williams CC

Задержка и ее влияние на качество связи


В сетях, основанных на пакетном обмене, связь между задержкой и пропускной способностью неоднозначна и сложна в определении. При этом время ожидания складывается из следующих компонентов:
  • Задержка сериализации — время, необходимое порту для передачи пакета
  • Задержка распространения — время, требуемое биту информации для достижения приёмника (обусловливается законами физики)
  • Задержка при перегрузке — время, которое кадр проводит в выходной очереди элемента сети
  • Задержка передачи — время, которое сетевой элемент тратит на анализ, обработку и передачу пакета

Управление трафиком


Специалисты компании Ashton, Metzler & Associates определяют термин «управление трафиком» как возможность сети обрабатывать разные виды трафика с разным приоритетом.

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

Для управления трафиком и качеством связи в сети организации инженеры рекомендуют:

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

Наиболее эффективный способ управления трафиком, по мнению специалистов Viavi Solutions, — иерархический контроль качества связи (H-QoS), являющийся комбинацией сетевых политик, фильтрации и управления пропускной способностью трафика. H-QoS не будет снижать скорость работы, если все элементы сети обеспечат ультранизкую задержку и высокую производительность. Главное достоинство H-QoS — сокращение времени ожидания без необходимости увеличения пропускной способности канала.

Использование NID


Устройства сетевого интерфейса (NID) дают возможность проводить мониторинг и оптимизацию трафика при небольших затратах. Обычно такие устройства устанавливаются на территории абонента: сетевых вышках и прочих точках перехода между сетями операторов.

NID обеспечивают контроль за всеми компонентами сети. Если такое устройство поддерживает H-QoS, то провайдер может не только следить за работой сети, но и проводить индивидуальную настройку параметров для каждого подключенного пользователя.

Кэширование


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

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

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

Сжатие данных


Основная задача сжатия данных — сократить размер файлов, которые передаются по сети. В некоторой степени сжатие похоже на кэширование и может дать эффект ускорения, как при увеличении пропускной способности канала. Один из самых распространённых методов сжатия — алгоритм Лемпеля — Зива — Велча, который используется, например, в ZIP-архивировании и утилите сжатия UNIX.

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

Для эффективной работы сетевых приложений необходимо решать проблемы с пропускной способностью и задержкой одновременно. Сжатие данных направлено на разрешение только первой проблемы, поэтому так важно применять её в связке с методиками управления трафиком.

Одностороннее сжатие данных


Существует альтернативный подход к сжатию данных — это системы оптимизации веб-контента, размещенные на одной стороне канала передачи данных. Такие системы используют технологии оптимизации веб-страниц, различные стандарты сжатия, методы оптимизации изображений, дельта-кодирование и кэширование. Они позволяют добиться сжатия информации в 2–8 раз в зависимости от содержимого.

У этих инструментов есть некоторые преимущества перед двусторонними решениями и прокси-кэшированием. Они значительно дешевле в установке и управлении, чем двусторонние. Кроме того, такие системы могут определять скорость соединения, тип браузера, оптимизировать не только статический, но и динамический контент для конкретного пользователя.

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

Сегодня инженеры постоянно проводят исследования, стараясь повысить производительность и эффективность сетей. Группа IEEE 802.1Qau разрабатывает улучшенные методы управления, которые позволят устранить потерю пакетов при перегрузке портов, команда Internet Engineering Task Force создает протокол для канального уровня связи, способный обеспечить кратчайшее соединение с помощью Ethernet.

Также ведутся работы над улучшением выборки данных для передачи, чтобы распределять неиспользуемые части соединения для различных классов трафика.

Поддержание высокого качества соединения в сетях — важная задача для современных организаций. Это позволяет предоставлять клиентам лучшие сервисы и использовать ресурсы сети по максимуму.

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

  • Оптимизация производительности в vSphere: решение основных проблем с CPU
  • Оптимизация производительности в vSphere: решение основных проблем с CPU (часть 2)
  • SSD-кеширование в облаке VMware

Комментарии (0)

© Habrahabr.ru