У нас есть запрос, который занимает 3 часа, чтобы закончить. Это не было проблемой раньше. Ранее код, который вызывает этот запрос, развертывается в weblogic и использует собственный менеджер пула соединений последнего.
Теперь, поскольку процесс занимает много памяти, мы извлекли этот код и заставили его работать в своем собственном пространстве кучи. Запрос на вызов запроса производится через jms. Я также заметил, что диспетчер пула соединений, который мы используем, - это dbcp, использующий настройки по умолчанию (максимальное число соединений = 8, минимальное количество соединений = 0). Клиент jms является многопоточным.
Когда мы выполнили запрос через интерфейс (TOAD), это заняло всего 2 секунды, поэтому я исключил «обвинение» базы данных.
Мне было интересно, какие шаги я мог бы предпринять, чтобы найти горлышко бутылки. Может быть что-то с пулом подключений?