14 подписчиков
Тонкий тюнинг: когда железо может больше
Часто причиной проблем с производительностью является не «слабое железо», а настройки сетевого стека и операционной системы, оставленные по умолчанию. Нагрузочное тестирование позволяет не только найти предел устройства, но и локализовать узкое место для проведения «тонкого тюнинга».
На что мы обращаем внимание при оптимизации производительности сетевых шлюзов и серверов в нашей лаборатории:
1. Conntrack Tables. Дефолтные значения nf_conntrack_max и тайм-аутов сессий часто становятся «бутылочным горлышком» при DDoS-атаках или High-Load трафике. Тюнинг хеш-таблиц может кратно повысить CPS без замены оборудования.
2. TCP Buffers & Window Scaling. Для каналов с высоким BDP критически важно правильно настроить размеры буферов (tcp_rmem, tcp_wmem) и включить Window Scaling. В противном случае, даже на гигабитном канале вы не получите скорость выше 100-200 Мбит/с из-за физики протокола TCP.
3. RSS & IRQ Affinity. Распределение прерываний сетевой карты по ядрам CPU. Неравномерная балансировка (когда одно ядро загружено на 100% обработкой softirq, а остальные простаивают) – классическая причина дропов пакетов на высоких скоростях.
Но вот важный момент: это три отдельных проблемы, и у каждой своя причина. Conntrack влияет на connection rate, TCP buffers влияют на throughput на каналах с задержкой, RSS влияет на утилизацию CPU. Может быть, ваша проблема в одном из них, а может быть во всех сразу. Как найти ответ? Нужно тестировать под нагрузкой, профилирующей именно вашу ситуацию. Запустить профиль, увидеть, где система упирается, изменить один параметр, запустить заново. Это итеративный процесс, и он скучный, но рабочий.
Есть и более комплексный подход: последовательно включать функции безопасности (IPS, антивирус, SSL-инспекция) и смотреть, как каждая из них влияет на производительность. На практике одна SSL-инспекция может съесть 50-70% пропускной способности, плюс IPS – и вот вы уже теряете основную часть возможностей. Тестирование показывает, какая именно функция стоит дороже всего, и тогда можно принять осознанное решение: может быть, отключить heavy-signature на доверенных сегментах, может быть, настроить селективную проверку SSL, может быть, что-то еще.
При комплексном подходе к тюнингу удается выжать дополнительную производительность в диапазоне 15-30% без замены оборудования. В редких случаях, когда узкое место находилось в явно неправильной конфигурации, прирост может быть больше.
Подписывайтесь на наш канал в ТГ, где мы регулярно публикуем материалы про нагрузочное и функциональное тестирование ИТ/ИБ решений и инфраструктуры.
2 минуты
3 февраля