Как стать автором
Обновить

CPU Utilization = 100%. Это проблема СУБД?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.2K
CPU Utilization = 100%
CPU Utilization = 100%

Обычные последствия после получения оповещения мониторинга «CPU Utilization High» — все в панике, лихорадочные поиски причин, аварийная ситуация, конфколлы и т. д. и т. п. Всё, как положено для ИБД.

Однако, если посмотреть на ситуацию чуть подробнее, то выясняется, что всё не так печально, а даже совсем наоборот и причин для паники — никаких.

Что же происходит с СУБД в данный момент ?

А с СУБД, всё хорошо, достаточно посмотреть на метрики мониторинга.

Самое главное: производительность СУБД — не снижается

Производительность СУБД даже растет
Производительность СУБД даже растет

Уже этой информации достаточно, что бы прекратить панику и не тратить рабочее время на поиски черной кошки в темной комнате.

Почему, производительность СУБД не снижается, ведь CPU в полку?

Причина 1: Количество запросов в секунду — не снижается

Количество запросов в секунду - не снижается с ростом утилизации CPU
Количество запросов в секунду - не снижается с ростом утилизации CPU

Причина 2: Количество транзакций в секунду — не снижается

Количество транзакций в секунду - не снижается с ростом утилизации CPU
Количество транзакций в секунду - не снижается с ростом утилизации CPU

Т.е. можно сделать простой вывод‑ работоспособность СУБД не уменьшилась, а скорее наоборот — увеличилась и рост утилизации CPU это лишь следствие. Или другими словами — в данной, конкретной ситуации СУБД максимально эффективно использует предоставленные ресурсы.

Данный тезис подтверждается метриками, показывающими количество обрабатываемой СУБД информации за единицу времени (что собственно говоря, с известными сейчас допущениями, и определяет в некотором смысле производительность СУБД).

Количество страниц разделяемой области - прочитанных в секунду
Количество страниц разделяемой области - прочитанных в секунду
Количество страниц разделяемой области - записанных в секунду
Количество страниц разделяемой области - записанных в секунду
Количество страниц разделяемой области - измененных  в секунду
Количество страниц разделяемой области - измененных в секунду

Выводы

  1. Мониторить утилизацию CPU отдельно — не имеет смысла. Мониторить надо производительность СУБД, в первую очередь.

  2. Рост утилизации CPU — не инцидент. Снижение производительности СУБД и рост утилизации CPU — инцидент.

  3. Высокая утилизация CPU и рост производительности СУБД — показывает эффективное использование предоставленных ресурсов. Низкая утилизация CPU и низкая производительность СУБД в рабочее время — зря потраченные средства.

Теги:
Хабы:
Всего голосов 18: ↑5 и ↓13-6
Комментарии19

Публикации

Ближайшие события