веблогические вопросы - PullRequest
1 голос
/ 02 мая 2011

У меня есть пара вопросов

1) Как мы можем определить в конфигурации weblogic, сколько одновременных пользователей разрешено или может быть разрешено одновременно для определенного приложения?

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

3) Сколько макс. соединений jdbc я должен установить, чтобы пользователи не блокировались из-за всех использованных соединений.Как сохранить баланс между количеством одновременных пользователей / потоков, разрешенных для jdbc-соединений, макс?

Спасибо

Ответы [ 4 ]

1 голос
/ 17 июля 2012

Это отличается в каждом сценарии использования. Но обычно экземпляр WLS 1 может охватывать 50 ~ 100 активных пользователей на экземпляр. Экземпляр имеет 2 процессора и 1 ~ 1,5 ГБ кучи.

Этот документ будет полезен для вашего вопроса:

«Планирование количества экземпляров и потоков на сервере веб-приложений»

0 голосов
/ 05 сентября 2017

Насколько я знаю, вы должны контролировать подобные вещи в

WebLogic-XML-jar.xml или же weblogic.xml

если вы ищете команды weblogic-xml-jar.xml, вы можете найти свое желание.

0 голосов
/ 05 мая 2011

1) Если каждому пользователю вы назначаете сеанс, вы можете контролировать максимальное количество сеансов в своем веб-логическом дескрипторе webapp, например, добавив следующее ограничение:

<session-descriptor>  <max-in-memory-sessions>12</max-in-memory-sessions> </session-descriptor>

Это более эффективно (если вы имеете в виду 1 пользователя = 1 сессия), чем ограничение количества запросов со стороны руководителей работы. Другой способ, когда вы не можете предсказать размер сеансов и количество пользователей, это настроить параметры перегрузки памяти и установить:

weblogic.management.configuration.WebAppContainerMBean.OverloadProtectionEnabled.

Больше информации здесь: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webapp/sessions.html#wp150466

2) Емкость потоков управляется WebLogic через менеджеры работ. По умолчанию существует только один: по умолчанию с неограниченным количеством потоков (!!!).

3) Как правило, адаптация количества соединений JDBC к числу потоков является более эффективной.

Следующая страница, безусловно, может представлять большой интерес: http://download.oracle.com/docs/cd/E11035_01/wls100/config_wls/overload.html

0 голосов
/ 02 мая 2011

1) Вы можете использовать Work Manager для управления запросами. Однако ограничение количества одновременно работающих пользователей будет зависеть от приложения к приложению. Если это веб-приложение, используйте рабочие менеджеры с максимальным ограничением, равным количеству пользователей, которым вы хотите его ограничить. Тем не менее, убедитесь, что вы выяснили, как справиться с переполнением - что вы будете делать, когда получите 100 запросов, но с ограничением на 5 пользователей? Это синхронная или асинхронная обработка?

2) В идеале вы хотите, чтобы соотношение потоков к соединениям в пуле составляло 1: 1. Это гарантирует, что ни один поток (запрос пользователя) не ожидает подключения. Я бы предложил попробовать это. Вы можете отслеживать пулы соединений JDBC, используя консоль WebLogic и добавляя поля в столбцы на вкладке «Мониторинг» для соединения. Если у вас большое количество официантов и / или большое время ожидания, вам нужно увеличить количество соединений в пуле. Вы можете начать с соотношения потоков: соединений 1: 0,75, провести тестирование производительности / нагрузки и скорректировать его на основании полученных результатов. Это действительно зависит от того, насколько хорошо вы управляете соединениями. Разъединяете ли вы соединение сразу после получения данных из базы данных, или вы продолжаете работу с логикой приложения и освобождаете соединение в конце метода / логики? Если вы удерживаете соединение в течение длительного времени, вам, вероятно, понадобится приблизить соотношение 1: 1.

...