https://github.com/reddwarf-nextgen/reddwarf

тся ли неблокирующая Java NIO все еще медленнее, чем ваш стандартный поток на асинхронный сокет соединения?

Кроме того, если бы вы использовали потоки для каждого соединения, вы бы просто создали новые потоки или использовали бы очень большой пул потоков?

Я пишу MMORPG-сервер на Java, который должен легко масштабировать 10000 клиентов при достаточно мощном оборудовании, хотя максимальное количество клиентов составляет 24000 (что, по-моему, невозможно достичь для потока на модель соединения из-за потока 15000 предел в Java). Из трехлетней статьи я слышал, что блокировка ввода-вывода с помощью потока на модель подключения была все еще на 25% быстрее, чем NIO (а именно, этот документhttp://www.mailinator.com/tymaPaulMultithreaded.pdf), но можно ли достичь того же в этот день? С тех пор Java сильно изменилась, и я слышал, что результаты были сомнительными при сравнении реальных сценариев, поскольку используемая виртуальная машина не была Sun Java. Кроме того, поскольку это сервер MMORPG, в котором много одновременно работающих пользователей взаимодействуют друг с другом, использование методов синхронизации и безопасности потоков снизит производительность до такой степени, что однопоточный селектор NIO, обслуживающий 10000 клиентов, будет быстрее? (вся работа не обязательно должна обрабатываться в потоке с помощью селектора, она может обрабатываться в рабочих потоках, например, как работает MINA / Netty).

Спасибо!

Ответы на вопрос(6)

Ваш ответ на вопрос