Назад | Перейти на главную страницу

Является ли количество одновременных TCP-соединений ограничивающим фактором для балансировщиков нагрузки?

Я пытаюсь понять, является ли количество одновременных TCP-соединений на балансировщике нагрузки ограничивающим фактором для «нормального» веб-сайта, а не пропускная способность данных.

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

В конце концов, я пытаюсь понять, когда наш балансировщик нагрузки сломается из-за слишком большого количества посетителей веб-сайта. Это виртуальный фунт, Barracuda BBF 340 Vx, с 2 ГБ оперативной памяти и 2 процессорами.

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

В типичном случае количество TCP-соединений не THE ограничивающий фактор: этот предел настолько высок, что вы столкнетесь с другими ограничениями вашей среды прежде, чем достигнете этого. Например, если ваш балансировщик нагрузки обрабатывает SSL-шифрование для вашей среды, вы, вероятно, столкнетесь с ограничением ЦП / ОЗУ до того, как достигнете предела TCP-соединений.


Получение этого числа от продавца имеет сомнительную полезность - продавцы лгут. Обычно они представляют собой теоретическое максимальное число в лучшем случае (которое часто невозможно достичь в любой реальной производственной среде).
Вы можете получить сторонние данные на сайте обзора, но на самом деле единственный способ узнать ограничения вашей среды - это выполнить нагрузочный тест в своей среде. Предполагая, что вы можете произвести достаточно работы, воля вызвать сбой в вашей среде, и вы сможете понять, почему. (Затем вы можете решить, приемлемы ли производительность / ограничения - если это не так, вы можете работать над улучшением своей среды для обработки ожидаемой нагрузки.)

Обычно нет. Для большинства веб-сайтов нормальное поведение HTTP-соединений без сохранения состояния означает, что соединения могут быть отключены очень быстро. Apache, например, тайм-аут по умолчанию составляет 15 секунд, IIS - две минуты (хотя его можно уменьшить).

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