JBoss EAP 7, рабочие конфигурации подсистемы ввода-вывода

Я спрашиваю здесь, потому что не могу найти много информации об этом ...

Каково основное использование настройки для «Потоки ввода-вывода» и «Максимальное количество потоков задач» в конфигурации рабочих подсистемы ввода-вывода?

Везде, где я читал,люди говорят, что «потоки Io» определяют количество одновременных запросов, которые может обрабатывать сервер, и что «Максимальное количество потоков задачи» - это максимальное количество одновременных запросов, которые может обрабатывать сервер.

Значит ли это, что если я установил «Потоки Io» равным 50, это означает, что JBoss может одновременно обрабатывать 50 запросов браузера?

У меня есть сайт, на котором требуется возможность обслуживать 1500 одновременных пользователей в течение 15 секунд. И выполнение каждого запроса не должно занимать более 3 секунд. Это включает в себя загрузку html, js, css и всех файлов jpg, которые нужны браузеру.

Означает ли это, что мне нужно установить «Потоки IO» на большее число, например 100, и «Максимальное количество потоков задачи» "до 150?

Я попытался установить" Макс. количество потоков в задаче "на 150 и даже 250, и это, кажется, замедляет работу моего сайта.

Кто-нибудь может объяснить, как работают эти 2 параметра?

1
задан 31 January 2020 в 05:11
2 ответа

Обычно вам не нужно иметь отдельный поток ввода-вывода для каждого пользовательского соединения. В любой момент вам может потребоваться столько потоков задач, сколько одновременных пользователей, чтобы избежать замедления. Вы можете попробовать значения по умолчанию и посмотреть, как они работают в вашем приложении. См. Следующие статьи поддержки:

Обратите внимание, что EAP 7.2 имеет дополнительную конфигурацию основных потоков для повышения эффективности.

Обновление: если вам нужны более подробные инструкции, лучше ознакомьтесь с полным руководством по настройке производительности Red Hat Enterprise Application Platform .

Обновление 2: поскольку EAP 7 использует Undertow, чтобы понять, что такое IO и рабочие thread do, нижеследующие документы должны дать некоторые подсказки:

Управление потоками ввода-вывода и рабочими потоками

Рабочий XNIO управляет как потоками ввода-вывода, так и пулом потоков, который можно использовать для блокировки задач. Обычно неблокирующие обработчики запускаться из потока ввода-вывода, блокируя такие задачи, как сервлет вызовы будут отправлены в пул рабочих потоков.

0
ответ дан 25 February 2020 в 23:36

@IWantSimpleLife, поскольку @akstadinov сослался на документацию, описывает дизайн и то, как работа «блокировки ввода-вывода» отделена от работы обработчика. Я думаю, что я прав, говоря, что отвечая на ваш вопрос, «потоки ввода-вывода» и «максимальные потоки задач» не связаны напрямую. Я говорю это, потому что они относятся к двум отдельным группам потоков. Первый — «Рабочие потоки ввода-вывода», который описывает начальную группу связанных с вводом-выводом обработчиков «чтения» и «записи», которые прослушивают каналы и события nio. В идеале в пуле ввода-вывода должен быть только 1 поток, и он никогда не должен никогда выполнять блокировку (сетевую или файловую) обработку. Группа other обычно называется группой «Потоки рабочих задач». Который предназначен для выполнения блокирующих работ. Одним из параметров этой второй группы будет размер «Максимальное количество потоков задач».

0
ответ дан 4 June 2020 в 18:25

Теги

Похожие вопросы