Рубрики
Без рубрики

Статистика запросов к базе данных

Я почти уверен, что большинство из нас, разработчиков, каждый день сталкиваются с некоторыми проблемами производительности базы данных. Девяносто… Помеченный как база данных, статистика, java, ведение журнала.

Я почти уверен, что большинство из нас, разработчиков, каждый день сталкиваются с некоторыми проблемами производительности базы данных. В девяноста процентах случаев это может быть связано с отсутствующими индексами.

В противном случае запрос не использует вновь созданный индекс, а вместо этого сканирует всю таблицу.

Большую часть времени мы этого не заметим, так как приложение работает отлично в течение первых нескольких недель/месяцев, а производительность медленно ухудшается с каждым днем по мере роста таблицы.

Я сам предпочел бы что-то автоматизированное, которое будет запрашивать или уведомлять в случае, если запросы займут больше времени, чем ожидалось. Именно тогда я подумал о том, чтобы использовать настройку hibernate-statistics и включить этот журнал. Но это делает много вещей в фоновом режиме и использует множество неслабых ссылок, что также требует значительного объема памяти JVM.

Я подумал о внедрении небольшой библиотеки, которая поможет мне настроить ее так, чтобы включить то, что нам нужно, и не хранить никакой другой информации.

Моей мотивацией было

  1. Простая настройка с помощью системных свойств.
  2. Вводимый даже в проекты, не находящиеся в спящем режиме или не являющиеся весенними, с помощью небольших настроек.
  3. Статистические отчеты помогут отправлять данные в Prometheus или аналогичные базы данных и создавать оповещения, уведомляющие о наличии запросов, которые необходимо улучшить.
  4. Разработчику нужны журналы для SQL-запросов с указанием времени, затраченного на выполнение.
  5. Разработчики могут создавать оповещения на основе Splunk (система ведения журнала) или Prometheus, если запросы занимают больше времени или извлекают строк больше, чем ожидалось.

Ссылка на библиотеку здесь

Оригинал: “https://dev.to/rohithmenon89/database-query-statistics-21db”