Не удалось открыть JDBC-соединение. Невозможно получить управляемое соединение для Java во время нагрузочного теста.
Ниже отмечена ошибка при нагрузочном тестировании с несколькими пользователями, а не в случае одного запроса SOAP.
Не удалось открыть JDBC-соединение для транзакции; Вложенное исключение: java.sql.SQLException: javax.resource.ResourceException: IJ000453: невозможно получить управляемое соединение для java:
2 ответа
Это может быть связано с одним из следующих:
- Пул соединений с источником данных не был настроен (например, max-pool-size и blocking-timeout-millis) правильно для максимальной нагрузки на приложение.
- Приложение пропускает соединения, потому что оно не закрывает их и тем самым возвращает их в пул.
- Потоки с соединениями с базой данных зависают и держатся за соединения.
Убедитесь, что min-pool-size
а также max-pool-size
Значения для соответствующего источника данных устанавливаются в соответствии с application load testing
и соединения закрываются после использования внутри кода приложения.
Скорее всего, вы нашли узкое место в вашем приложении, похоже, оно не может справиться с таким количеством виртуальных пользователей. Самым простым решением было бы поднять проблему в вашей системе отслеживания ошибок и позволить разработчикам изучить ее.
Если вам нужно указать основную причину сбоя, я могу подумать как минимум о двух причинах этого:
- Конфигурация вашего приложения или сервера приложений не подходит для высоких нагрузок (т. Е. Количество соединений в вашей конфигурации пула соединений JBOSS JDBC меньше, чем требуется, учитывая количество виртуальных пользователей, которых вы моделируете. Попробуйте изменить
min-pool-size
а такжеmax-pool-size
значения, соответствующие количеству виртуальных пользователей - Ваша база данных перегружена, следовательно, не может принять столько запросов. В этом случае вы можете рассмотреть нагрузочное тестирование базы данных отдельно (т. Е. Запускать запросы к базе данных напрямую через сэмплер JDBC Request JMeter, не затрагивая конечную точку SOAP вашего приложения.) Чтобы узнать больше, ознакомьтесь со статьей "Настоящий секрет построения плана тестирования базы данных с помощью JMeter". о концепции нагрузочного тестирования базы данных.