Проблема с пулом соединений в спящем режиме 6, весенняя загрузка 3JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема с пулом соединений в спящем режиме 6, весенняя загрузка 3

Сообщение Anonymous »

Недавно я перенес свое приложение с Spring Boot 2 с Hibernate 5 на Spring Boot 3 с Hibernate 6 в тестовой среде. После миграции я сталкиваюсь с проблемами при высокой нагрузке (состояниях перегрузки).
Основные проблемы:
Я вижу такие журналы:

Код: Выделить всё

HikariPool-1 - Connection is not available, request timed out after 30000ms (total=0, active=0, idle=0, waiting=1)
Кроме того, я получаю такие ошибки, как:

Код: Выделить всё

message='Internal error', description='Could not open JPA EntityManager for transaction'
Эти ошибки возникают, в частности, при конкретном запросе:

Код: Выделить всё

@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("SELECT so FROM ServiceOrder so WHERE so.id = ?1")
Optional findByIdWithPessimisticWriteLock(String serviceOrderUuid);
Я явно установил размер пула HikariCP в моей конфигурации: свойства

Код: Выделить всё

spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.minimum-idle=10
Что я заметил:
  • Проблема возникает в условиях перегрузки, когда одновременно обрабатывается много запросов.
  • Конфигурация пула (максимальный размер, время ожидания) не изменилась по сравнению с предыдущей настройкой, которая отлично работала с Spring Boot 2 + Hibernate 5.
Вопросы:
  • Ожидается ли такое поведение после перехода на Hibernate 6?
Будем очень признательны за любые рекомендации и предложения!
Заранее спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»