Java + Netty: повышение пропускной способности приложения за счет делегирования обработки запросов отдельному пулу потокJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java + Netty: повышение пропускной способности приложения за счет делегирования обработки запросов отдельному пулу поток

Сообщение Anonymous »

Я хочу выяснить, подходит ли приведенный ниже подход или лучше использовать другой подход.
У нас есть приложение, построенное на основе Java + Netty. Приложение чувствительно к задержке. Конфигурация Netty:
  • 1 главный поток + 96 рабочих потоков
  • Всего установлено соединений с каналом Netty — ~5 тыс.+
При поступлении запроса рабочий поток Netty обрабатывает ввод-вывод/вывод конвейера канала (чтение из канала, запись в канал, жизненный цикл канала) + обработка запроса.
Здесь обработка запроса выполняется через in только память, никаких сетевых вызовов ввода-вывода или каких-либо вызовов БД. Но это трудоемкая задача. Поскольку обработка запросов также обрабатывается рабочим потоком из определенного канала, запросы других каналов будут поставлены в очередь для обработки (поправьте меня, если я ошибаюсь).
Мы хотели улучшить производительность приложения. В качестве обходного пути мы хотели делегировать логику обработчика обработки запросов отдельной службе-исполнителю (служба-исполнитель представляет собой глобальный пул потоков для всех рабочих потоков). При таком подходе рабочему потоку не нужно ждать завершения обработки запроса, он просто делегирует запрос пулу потоков и быстрее переходит к следующему набору запросов в очереди.
Что мне следует учитывать дальше?

Подробнее здесь: https://stackoverflow.com/questions/798 ... est-proces
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»