Немножко IT археологии, а именно так называемая C10k problem и как один неудобный вопрос может изменить глобальную технологию. Итак, на дворе 1999 год, вебом правит Apache и тут Dan Kegel задаётся вопросом - а что будет, если к серверу подключится сразу 10000 клиентов? 99й год на дворе, напоминаю. Тогда такие мысли приходили если только в порядке фантазий и далёком будущем. Собственно проблема была в том, что апач использовал принцип один клиент - один тред. 8 мегабайт на одного, значит итого надо 90Гб на всех. Ну предположим мы где-то столько набрали, но случается следующий тупик: на переключение между тредами мы будем тратить времени больше, чем на полезные вычисления. А реальные сервера банально падали далеко до заветных 10к. Решение было придумано только в 2002 в релизе LInux 2.6. Теперь один тред следил за всеми конекциями, а ядро говорило в каких сокетах есть данные и куда надо бежать. Если вам что-то напоминает, то да, nginx был построен именно на этой идее, а вебсервера научились молотить миллионы одновременных соединений.
Всю историю можно найти здесь: https://kegel.com/c10k.html
P.S. Что интересно, ивент лупы были придуманы ещё дедами для мейнфреймов, только использовали их не для целей веба.