TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #3102 2.25K
День 2581. #МоиИнструменты #PG
Инструменты Оптимизации Запросов в PostgreSQL. Часть 2

2. Анализатор производительности БД (DPA) SolarWinds
Что даёт: Мониторинг производительности запросов к различным базам данных в одном унифицированном интерфейсе.
Тип: Коммерческий (доступна бесплатная пробная версия)
Базы данных: Postgres, MySQL, Oracle, SQL Server, MongoDB
Зачем нужен: Большинство компаний используют несколько БД. Postgres для транзакционных операций, MySQL для устаревших приложений, Redshift для аналитики. Для каждой из них существуют разные инструменты мониторинга. DPA обеспечивает унифицированный мониторинг производительности для всех из них.
Главная особенность: анализ времени ожидания. Вместо того чтобы просто показывать медленные запросы, DPA показывает почему они медленные — ожидание блокировок, дисковый ввод-вывод, ЦП, сеть и т. д.

Что показывает
Query: SELECT * FROM orders WHERE customer_id = ?
Total time: 12.5 seconds
Breakdown:
- CPU time: 0.3s (2%)
- Lock wait: 11.8s (94%) ← Проблема тут
- I/O wait: 0.2s (2%)
- Network: 0.2s (2%)
Action: Investigate lock contention, not query optimization
(Решение: Исследуйте конфликты блокировок, а не оптимизацию запросов.)


Когда использовать
- Многобазовая среда;
- Бюджет на коммерческие инструменты ($1500-5000 в год на БД);
- Необходима корреляция между базами данных;
- Требуется анализ исторических тенденций.

Когда отказаться
- Одна БД (pgBadger или специализированные под БД инструменты дешевле);
- Ограниченный бюджет;
- Необходимо профилирование на уровне кода (DPA ориентирован на уровень запросов).

Скрытая функция
Обнаружение аномалий без настройки. DPA автоматически изучает шаблоны поведения:
- Typical query response time: 2.3s ±0.5s
(Типичное время ответа на запрос: 2,3с ±0,5с)
- Today's execution: 8.7s
(Время выполнения сегодня: 8,7с)
- Alert: Query degraded 3.7x from baseline
(Предупреждение: Скорость выполнения запроса снизилась в 3,7 раза по сравнению с базовым уровнем).

Не требуется ручная настройка порогового значения.
Снижает усталость от оповещений.

С осторожностью
Реальные накладные расходы агента DPA:
- ЦП: +2-5% на сервере БД;
- Память: ~500 МБ на каждый отслеживаемый экземпляр;
- Сеть: ~10-50 Мбит/с телеметрии.

Для высоконагруженной производственной среды:
- Запускайте агент на отдельном сервере;
- Используйте выборочный мониторинг (отслеживайте 10% запросов);
- Настройте частоту сбора данных.

Источник: https://medium.com/@reliabledataengineering/15-sql-optimization-tools-that-make-queries-10x-faster-8629ac451d97
  • 👎 5
  • 👍 1
More from @netdeveloperdiary
  1. Sep 28, 2026День 2798. #Оффтоп Утиная Типизация в C# с Помощью Перехватчиков. Часть 2 Некоторое время…
  2. Sep 27, 2026День 2797. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Окончание Начало Продол…
  3. Sep 26, 2026День 2796. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Продолжение Начало Три…
  4. Sep 25, 2026День 2795. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Начало Проблема с позиц…
  5. Sep 24, 2026День 2794. #Оффтоп #Здоровье Сегодня будет необычный пост. Завтра в Москве стартует конфер…
  6. Sep 23, 2026День 2793. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →