Все записи
5 мин чтенияКоманда Mitelis

Новые узлы фильтрации: пропускная способность ×2,3, задержки −77%

Мы заменили серверы фильтрации, работавшие с 2022 года. Рассказываем простыми словами, что изменилось: скорость, задержки, процессоры, память и диски.

Сравнение старых и новых узлов фильтрации Mitelis

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

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

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

Как мы сравнивали

Старые и новые узлы прогнали через одинаковые тесты в двух режимах:

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

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

Скорость обработки запросов

Прирост пропускной способности новых узлов: +132% на базовом пути и +90% с логикой фильтрации
Пропускная способность нового узла относительно старого

Пропускная способность — это сколько запросов узел успевает обработать за секунду. На базовом пути новый узел справляется с объёмом, для которого раньше нужно было 2,3 старых, — это прирост на 132%. С логикой фильтрации прирост составляет 90%: один новый узел заменяет почти два старых. Разница между режимами объяснима — проверки нагружают процессор сильнее, чем простая отдача ответа.

Задержки

Задержки старых и новых узлов: 509 и 118 мкс на базовом пути, 4,32 и 1,98 мс с логикой фильтрации
Медианная задержка старых и новых узлов

Задержка — это время, которое запрос проводит внутри узла, прежде чем уйти дальше к сайту. На базовом пути она сократилась с 509 до 118 микросекунд — в 4,3 раза. С логикой фильтрации — с 4,32 до 1,98 миллисекунды, то есть более чем вдвое.

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

Процессоры и память

Изменение CPU и памяти: один поток +61%, все потоки +77%, пропускная способность памяти +22%
Процессор и память: старый узел против нового

Одно ядро нового процессора работает на 61% быстрее старого, а процессор целиком, со всеми ядрами, — на 77% быстрее. Именно общая мощность важна для фильтрации: сервер обрабатывает тысячи запросов одновременно, и каждое дополнительное ядро берёт на себя часть потока.

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

Диски

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

Операция Старый узел Новый узел Разница
Последовательная запись 1,27 ГБ/с 10,4 ГБ/с в 8,2 раза
Последовательное чтение 6,96 ГБ/с 11,9 ГБ/с +71%
Случайное чтение 4K 192 тыс. IOPS 1,33 млн IOPS в 6,9 раза
Случайная запись 4K 149 тыс. IOPS 2,03 млн IOPS в 13,6 раза

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

Ещё важнее, как диск ведёт себя в худшие моменты. Показатель p99 — это время, за которое выполняются 99% операций; он показывает не среднюю скорость, а самые медленные случаи. На новых дисках эти задержки ниже в 51,6 раза при последовательной записи, в 2,9 раза при последовательном чтении, в 9,7 раза при случайном чтении и в 25,6 раза при случайной записи. Именно редкие медленные операции во время атаки приводят к тому, что данные начинают копиться, — теперь такой риск значительно меньше.

Диски: пропускная способность выше в 8,2, 1,7, 6,9 и 13,6 раза; p99 задержки ниже в 51,6, 2,9, 9,7 и 25,6 раза
Диски нового узла относительно старого: скорость и задержки в худших случаях

Новая сетевая архитектура

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

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

Что это даёт клиентам

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

Следить за состоянием своих проектов можно в рабочем пространстве, вопросы — в нашем Telegram-канале.