Задать вопрос

Как держать больше 65535 одновременных TCP соединений?

Хочется одним сервером держать около 150к одновременных WebSocket подключений.

Вдохновился постом про 600к одновременных подключений на Amazon EC2, и постом про нагрузочное тестирование WebSocket'ов Tsung'ом.

Читал, теоретический лимит 65535 – это с одного IP на один IP, порт. Тут подключаться будут с разных IP.

Пробую тестировать на DigitalOcean. Поднял сервер, запустил простейший WS сервер на Swoole, установил Tsung для нагрузочного тестирования.

Поднимаю ещё 3 VPS в качестве «рабочих» – будут бомбить сервер соединениями. Несколько – чтобы с нескольких разных IP.

Но во всех тестах наибольшее число одновременных было всего 65526 – это когда все рабочие были в этом же регионе DigitalOcean. Второй раз попробовал запускать каждого рабочего в отедльном регионе – стало только хуже: около 56к. В остальном отваливались с ошибкой EADDRINUSE.

Где тут узкое место? Сеть DO как-то ограничнивает число подключений к одной виртуалке?
  • Вопрос задан
  • 5378 просмотров
Подписаться 13 Простой Комментировать
Ответ пользователя pfg21 К ответам на вопрос (6)
@pfg21
ex-турист
количество соединений на один порт ограничивается только возможностями системы.
ограничение 65 536 это про общее количество портов на систему, к количеству соединений отношения не имеет.

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