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

CPU Urilization = 100%

CPU Urilization = 100%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы

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

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

© Habrahabr.ru