Jetty или Tomcat с неблокирующим вводом-выводом (сервлет 3.0) - PullRequest
2 голосов
/ 03 октября 2010

Мне нужно с чего начать.Я читал от Якова Файна о прорыве в производительности с помощью молы и лезвий.

Я понял, что у нас уже есть проблемы с примерно 1200 одновременными пользователями, некоторые потребители не получают сообщений, а процессор находится под сильным огнем.

Кто-нибудь уже пробовал этот Nio с BlazeDS?Работало ли это и с Tomcat?С чего начать и что мне нужно для повышения производительности обмена сообщениями?

Большое вам спасибо !!!

1 Ответ

1 голос
/ 03 октября 2010

Я бы посоветовал, прежде чем идти по пути настройки BlazeDS для поддержки NIO, профилировать свое приложение и проверять, есть ли горячие точки.Вы убедились, что сетевой стек BlazeDS вызывает потерю сообщений?Профилировали ли вы свой код, чтобы увидеть, есть ли какие-то оптимизации, которые можно сделать для лучшей оптимизации обработки сообщений?

Некоторые на самом деле утверждают, что Java NIO на самом деле не улучшает сквозную обработку - http://paultyma.blogspot.com/2008/03/writing-java-multithreaded-servers.html

Я говорю это потому, что BlazeDS не поддерживает NIO только в коммерческой версии сервера - LCDS.Что LCDS на самом деле настраивает, так это собственные сокеты NIO и управляет запросами через эти соединения, минуя стандартный стек сервлетов.Чтобы получить поддержку NIO, Яков сказал: «Для поддержки тысяч одновременно работающих пользователей вам также необходимо настроить сетевой уровень BlazeDS». Я хотел бы предположить, что этот настраиваемый сетевой уровень не готов к работе и является скорее прототипом, поскольку надежно настроить его крайне сложно.сетевой уровень любого сервера.

...