2013-09-22 3 views
0

У меня есть веб-приложение, разработанное в Java/Java EE, соединяясь со складом на задней панели. У нас есть IBM WAS в качестве сервера приложений, и в нем используется источник данных для соединений с базой данных. Пул соединений имеет максимальный размер пула 30. Существует несколько случаев, когда запросы БД могут занимать до 1-2 минут, и, следовательно, пользователь ждет на лицевой стороне.IBM WAS: Максимальные параллельные соединения DB

Что произойдет в сценарии, когда 40 различных одновременных пользователей получают доступ к экрану, на котором выполняется запрос на заднем конце, занимает 1-2 минуты.

  1. В соответствии с установкой WAS может быть не более 30 подключений к DB, не так ли?
  2. WAS будет ждать завершения соединения БД и возвращает соединение с пулом; поэтому его можно назначить на следующий запрос в очереди?

ответ

0

К сожалению, я не могу ответить, как WebSphere работает в этой ситуации, но вы можете попробовать повторить запрос с функциями задержки в БД:

TSQL:

--wait for 1 minute 
WAITFOR DELAY '00:01' 

Oracle:

DBMS_LOCK.sleep(seconds => TIME_); 

и так далее.

Затем вы можете использовать apache jmeter (http://jmeter.apache.org/) для эмуляции пользовательских запросов. Существуют различные запросы, слушатели и так далее.

У консоли администратора Websphere есть раздел Монитор и настройка, где вы можете настроить собственный монитор для источников данных и активности пула запросов HTTP.

Таким образом мы отлаживаем узкие места нашего приложения.

0

В вашей ситуации результат будет: 30 соединение будет в состоянии обработки, другое 10 будет в состоянии ожидания. Если одно из соединений обработки возвращается в источник данных, тогда одно из ожидающих соединений начнет свою работу.

+0

спасибо за входные данные. Следующий вопрос по этому вопросу касается публичных веб-сайтов, которые взаимодействуют с БД. Чтобы обрабатывать такую ​​тяжелую одновременную нагрузку, у них есть огромный пул соединений и очень короткие транзакции, правильно? – Allzhere

+0

Иногда полезно перерисовать схему базы данных или внимательно следить за запросами базы данных. Огромный пул связи это не зло. Все зависит от загрузки вашего сервера. –