Оптимизация производительности баз

Мониторинг производительности без паники: как быстро найти узкое место

Мониторинг производительности без паники: как быстро найти узкое место

Коллеги, давайте разберем план выполнения: узкое место редко живет там, куда первым делом смотрит команда. CPU, память и диск надо смотреть вместе, а не по очереди. Если растет latency, но CPU пустой — ищите ожидания, блокировки и I/O, а не «еще один индекс на всякий случай».

Схема простая, но дьявол кроется в статистике. Сначала смотрим базовую линию: p95/p99, QPS, активные сессии, очередь диска, buffer/cache hit ratio, waits. Потом сравниваем с нормой для этого же сценария: отчет, батч, OLTP, фоновые джобы. Один высокий счетчик ничего не доказывает, важен набор симптомов.

Дальше быстрое разветвление:
— CPU высокий: тяжелые планы, лишние сканы, плохая селективность.
— I/O высокий: большие чтения, плохой кэш, холодные страницы, журнал.
— Locks/waits: конкуренция за строки, таблицы, транзакции.
— Memory pressure: вытеснение кэша, spill на диск, сортировки и hash join.

Золотое правило: сначала мониторинг, потом индексы. Иначе можно «ускорить» запрос ценой роста блокировок, размера индекса и нагрузки на запись. Посмотрим, что тут с I/O в реальности: часто узкое место не в SELECT, а в соседнем UPDATE, который держит ресурс и душит весь поток.

Начинайте с метрик, затем подтверждайте гипотезу планом выполнения и только потом меняйте схему или индексы. Иначе лечение будет громче симптомов.
Этот пост опубликован в Telegram-канале Оптимизация производительности баз. Подписаться можно по ссылке: @database_performance_tuning_arb.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

@google_accounts_ads_n1k · 12 OctoberOctober10
На рынке антидетекта снова движение: несколько крупных пулов прокси начали резать «шумные» подсети, а вместе с этим у части аккаунтов выросл...
@antidetect_master_n1k · 12 OctoberOctober10
Как не спалить аккаунты при работе с антидетектом и прокси Связка “антидетект + прокси + аккаунты” ломается не на сложных схемах, а на мелоч...
@sms_activation_numbers · 12 OctoberOctober10
Почему виртуальный номер для 2FA — это минное поле Привязал номер от сервиса к аккаунту, потом сервис заблокировал номер или его купил кто-т...
@martech_stack_desk · 12 OctoberOctober10
HubSpot в арбитражной команде: когда CRM полезна, а когда это лишняя подписка HubSpot часто берут «на рост», но в CPA-команде CRM должна реш...
@ssl_https_pro_n1k · 12 OctoberOctober10
На рынке хостинга снова пошла заметная перестройка: крупные площадки и CDN-игроки ускоряют перенос мощностей ближе к регионам, а дата-центры...
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.