Встречается на собеседованиях • сегодня

Как определить место подвисания запросов

Для выявления узких мест в запросах можно использовать:

  1. Профилирование SQL:
java
// Для Hibernate
hibernateProperties.put("hibernate.generate_statistics", true);
// После выполнения запросов
Statistics stats = sessionFactory.getStatistics();
System.out.println(stats.getQueryStatistics());
  1. Логирование медленных запросов:
properties
# В application.properties
spring.jpa.properties.hibernate.session_factory.statement_commenter.enabled=true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
  1. EXPLAIN ANALYZE - выполнять для проблемных запросов напрямую в БД.

  2. Визуальные инструменты:

  • JProfiler
  • YourKit
  • VisualVM
  1. Метрики Spring Boot Actuator:
properties
management.endpoints.web.exposure.include=metrics

Ключевые метрики: jdbc.connections.max, jdbc.connections.active, hikaricp.connections.pending.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы