я пытаюсь написать сервер одновременно обслуживающий большое количество долгоживущих соединений ( максимум 10 000 ). Сейчас я пытаюсь группировать несколько соединений в одной нити, например на одна нить обслуживает 100 соединений, но испытываю при этом жуткий геморой с синхронизацией.
Вопрос - а надо ли мне это? Может не стоит заморачиваться и порождать на каждое входящее соединение отдельную нить? Сколько потоков я смогу породить прежде чем системе поплохеет?
Машины используются многопроцессорные и многоядерные. Язык с++, библиотека для работы с сокетами - Boost.Asio.