Обзор CentOS 7. Часть 5: оптимизации производительности сети

В предыдущих статьях по CentOS 7 было рассмотрено:
Часть 1: контейнеры Linux
Часть 2: управление идентификацией
Часть 3: NFS, FedFS, pNFS
Часть 4: смягчение DDoS атак TCP SYN Flood

В этой статье мы поговорим об улучшениях сети в CentOS 7:
  • оптимизации производительности сети;
  • поддержки сокетов с низкими задержками;
  • высокоточной синхронизации времени.
  • улучшениях безопасности;


В конце статьи ссылки на бесплатное тестирование CentOS 7 в облаке InfoboxCloud и в VPS от Infobox.

Использование полосы пропускания сети продолжает расти. Сеть может становиться потенциально узким местом приложения. В CentOS 7 добавлена поддержка 40-гигабитных сетей, что позволяет быстрее обмениваться данными между системами и приложениями. В CentOS 7 добавлен механизм Team Driver, позволяющий виртуально объединять набор сетевых устройств (портов) в единый логический интерфейс. Это полезно для достижения максимальной пропускной способности и обеспечения отказоустойчивости сетей.

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

Для упрощения управления сетью Network manager в CentOS 7 получил значительное обновление, исправляющее ряд недостатков, связанных с настройкой сетевых интерфейсов и услуг. Появилась новая утилита для управления сетью из командной строки (NM-CLI) для простой настройки и управления сетью. Этот инструмент должен быть востребован у системных администраторов для управления серверами из командной строки, для удаленного управления серверами и скриптинга.

Оптимизации производительности сети


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

В CentOS 7 появились оптимизации производительности TCP, уменьшающие задержки и уменьшающие время ответа приложений:
  • TCP Fast Open: экспериментальное расширение TCP, спроектированное для снижения накладных расходов при установке TCP соединения. Расширение полезно для ускорения HTTP соединений при рукопожатиях и может добавить производительности от 4% до 41% в скорости загрузки страниц сайтов.
  • TCP Tail Loss Probe (TLP) – экспериментальный алгоритм, улучшающий эффективность сетевого стека при потере пакетов в конце TCP соединения. Для коротких транзакций TLP должен уменьшить таймауты передачи на 15% и для коротких HTTP ответов — на 6%.
  • TCP Early Retransmit позволяет использовать быстрые повторные передачи для восстановления потерь в сегментах сети. Другими словами, при потере пакетов соединения восстанавливаются быстрее, что улучшает общие задержки.
  • TCP Proportional Rate Reduction (PRR) – экспериментальный алгоритм, спроектированный для адаптации скорости передачи к пропускной способности, возможной для получателя или маршрутизаторов в сети для предотвращения перегрузок. Алгоритм предназначен для того, чтобы вернуться к максимальной скорости передачи быстрее и может сократить время ответа HTTP на 3-10%.

Сокеты с низкими задержками

Несмотря на то, что сетевой стек Linux считается одним из самых быстрых и надежных, в ряде приложений нужны сверхнизкие задержки. Уменьшение задержки на одну миллисекунду для крупной брокерской фирмы может принести 100 миллионов долларов в год. Многие используют нестандартные подходы для обхода сетевого стека в пользовательском пространстве.

Сокеты с низкими задержками (Low latency sockets) — программная реализация в ядре, предназначенная для уменьшения сетевых задержек и джиттера. Эта функция позволяет приложению разрешить опрос новых пакетов напрямую у драйвера устройства, обеспечивая пакетам быстрый путь в сетевом стеке. Это изменение вызывает драйвер для проверки интерфейса на наличие новых пакетов и передает их, не вызывая блокировку.

Технология позволяет приложениям, чувствительным к непредсказуемым задержкам, использовать метод busy-wait pooling вместо использования прерываний для входящих пакетов.

Высокоточная синхронизация времени

Точная синхронизация времени в микросекундах и наносекундах очень важна для критических приложений с высокими требованиями к скорости работы и задержкам, например при торговле на биржах. В CentOS 7 появилась новая имплементация протокола NTP – Chrony, позволяющая синхронизировать время быстрее и точнее, чем ntpd. Chrony также лучше работает в виртуальных машинах или на компьютерах с энергосберегающими технологиями, сохраняя время точным.

В дополнение к улучшениям NTP, в Cent OS 7 появилась поддержка стандарта IEEE 1588 версии 2 «Precision Time Protocol (PTP)». PTP обеспечивает точность меньше миллисекунды.

Безопасность


Iptables разрабатывался во времена, когда сети были простыми и пропускные способности измеряли мегабитами. Новые технологии (распределенные NAT, оверлейные сети и контейнеры) требуют расширенной функциональности и гибкости. В CentOS 7 добавленa новая динамическая служба FirewallD. Сервис предоставляет большую гибкость по сравнению с iptables, например поддерживает различные зоны доверия сетей. С FirewallD можно применять правила без перезагрузки сервиса, не теряя текущие соединения.

Использованные в подготовке статьи источники:
Oфициальный блог RedHat
База знаний RedHat
Официальный блог CentOS

Попробуйте CentOS 7 в облаке
Специально для наших читателей мы обеспечили возможность попробовать CentOS 7 в облаке InfoboxCloud. Регистрируйте пробную версию облака по этой ссылке. Классическую VPS с CentOS 7 можно попробовать бесплатно, используя промо-код freevps на сайте Infobox. Если вам нужно больше ресурсов для тестирования, напишите.

Успешного использования CentOS 7!

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.