Один процесс Ruby может обрабатывать столько соединений, сколько машина / ubuntu разрешит процессу ruby. Это ограничение процесса, которым управляет ядро Linux. Используйте ulimit для увеличения файловых дескрипторов, и вы можете иметь больше соединений с сокетами. Вам также понадобится память для обработки большого количества соединений, и вам может понадобиться настроить параметры tcp.