Хочется одним сервером держать около 150к одновременных WebSocket подключений.
Вдохновился
постом про 600к одновременных подключений на Amazon EC2, и
постом про нагрузочное тестирование WebSocket'ов Tsung'ом.
Читал, теоретический лимит 65535 – это с одного IP на один IP, порт. Тут подключаться будут с разных IP.
Пробую тестировать на DigitalOcean. Поднял сервер, запустил простейший WS сервер на
Swoole, установил
Tsung для нагрузочного тестирования.
Поднимаю ещё 3 VPS в качестве «рабочих» – будут бомбить сервер соединениями. Несколько – чтобы с нескольких разных IP.
Но во всех тестах наибольшее число одновременных было всего 65526 – это когда все рабочие были в этом же регионе DigitalOcean. Второй раз попробовал запускать каждого рабочего в отедльном регионе – стало только хуже: около 56к. В остальном отваливались с ошибкой EADDRINUSE.
Где тут узкое место? Сеть DO как-то ограничнивает число подключений к одной виртуалке?