Стоит ли использовать сокет или nio для сервера с несколькими клиентами? - PullRequest
0 голосов
/ 23 октября 2011

У меня есть программа, которая читает данные сокетов в реальном времени из внешнего источника и транслирует их нескольким клиентам так быстро, как только может. Пропускная способность данных от источника составляет 200 КБ, а клиенты - менее 10.

Сервер и клиенты находятся в интрасети и на гигабитной сетевой карте.

В настоящее время я использую mina 1.x, которая является фреймворком nio. Но я обнаружил, что производительность не так хороша, как я ожидал.

Я думаю, правильно ли использовать nio для этого приложения? (Я слышал, что nio хорош для тысяч клиентов)

В этом случае традиционная розетка имеет лучшую производительность, чем nio?

1 Ответ

2 голосов
/ 23 октября 2011

По моему опыту, блокировка NIO работает лучше всего для небольшого количества (около 10) соединений. Однако любой подход, который вы используете, обычно достаточно быстр, чтобы насытить сеть 10 Gig-E. .

Какую сеть вы используете? Какие цифры вы получаете?

Вот старый тест, который я сделал. http://vanillajava.blogspot.com/2010/07/java-nio-is-faster-than-java-io-for.html Даже один клиент насыщает соединение 1 Гб, используя любой подход. Это было запущено на старом ПК, кстати.

...