Недостаточное быстродействие процессора

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

Узлы YDB в основном используют ресурсы процессора на выполнение акторов. На каждом узле акторы выполняются с использованием ресурсов одного из пулов акторной системы. Потребление ресурсов каждого пула измеряется отдельно, что позволяет точнее отслеживать изменения в потреблении ресурсов.

Диагностика

  1. Используйте вкладку Diagnostics во встроенном UI для анализа загрузки процессора во всех пулах ресурсов:

    1. Откройте встроенный UI, перейдите на вкладку Databases и нажмите на требуемую базу данных.

    2. На вкладке Navigation убедитесь, что требуемая база данных выбрана.

    3. Откройте вкладку Diagnostics.

    4. На вкладке Info нажмите на кнопку CPU и проверьте уровни загрузки процессора во всех пулах ресурсов.

  2. Проанализируйте загрузку процессора во всех пулах ресурсов на графиках Grafana:

    1. Откройте панель мониторинга CPU в Grafana.

    2. Проверьте наличие скачков на следующих графиках:

      • CPU by execution pool

      • User pool - CPU by host

      • System pool - CPU by host

      • Batch pool - CPU by host

      • IC pool - CPU by host

      • IO pool - CPU by host

  3. Если скачки потребления ресурсов процессора обнаружены в пользовательском пуле ресурсов (user pool), проанализируйте изменения пользовательской нагрузки, которые могли бы вызвать недостаток ресурсов процессора. Проверьте следующие графики на панели мониторинга DB overview в Grafana:

    • Requests

    • Request size

    • Response size

    Также проверьте все графики в секции Operations на панели мониторинга DataShard.

  4. Если скачки потребления ресурсов процессора обнаружены в пакетном пуле ресурсов (batch pool), проверьте, не запущены ли процессы резервного копирования (backups).

Рекомендации

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