---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/troubleshooting/performance/hardware/cpu-bottleneck.md?version=v25.3
  - https://ydb.tech/docs/ru/troubleshooting/performance/hardware/cpu-bottleneck.md?version=v25.3
  - href: ru/troubleshooting/performance/hardware/cpu-bottleneck.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/troubleshooting/performance/hardware/cpu-bottleneck.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

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

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

Узлы YDB в основном используют ресурсы процессора на выполнение [акторов](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#actor). На каждом узле акторы выполняются с использованием ресурсов одного из [пулов акторной системы](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#actor-system-pools). Потребление ресурсов каждого пула измеряется отдельно, что позволяет точнее отслеживать изменения в потреблении ресурсов.

## Диагностика

<!-- The include is added to allow partial overrides in overlays -->
<!-- source: ru/troubleshooting/performance/hardware/_includes/cpu-bottleneck.md -->
1. Используйте вкладку **Diagnostics** во [встроенном UI](https://ydb.tech/docs/ru/reference/embedded-ui/index.md?version=v25.3) для анализа загрузки процессора во всех пулах ресурсов:

    1. Откройте [встроенный UI](https://ydb.tech/docs/ru/reference/embedded-ui/index.md?version=v25.3), перейдите на вкладку **Databases** и нажмите на требуемую базу данных.

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

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

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

        ![](_assets/embedded-ui-cpu-system-pool.png)
1. Проанализируйте загрузку процессора во всех пулах ресурсов на графиках Grafana:

    1. Откройте панель мониторинга **[CPU](https://ydb.tech/docs/ru/reference/observability/metrics/grafana-dashboards.md?version=v25.3#cpu)** в Grafana.

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

        - **CPU by execution pool**

            ![](_assets/cpu-by-pool.png)

        - **User pool - CPU by host**

            ![](_assets/cpu-user-pool.png)

        - **System pool - CPU by host**

            ![](_assets/cpu-system-pool.png)

        - **Batch pool - CPU by host**

            ![](_assets/cpu-batch-pool.png)

        - **IC pool - CPU by host**

            ![](_assets/cpu-ic-pool.png)

        - **IO pool - CPU by host**

            ![](_assets/cpu-io-pool.png)

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

    - **Requests**

        ![](_assets/requests.png)

    - **Request size**

        ![](_assets/request-size.png)

    - **Response size**

        ![](_assets/response-size.png)

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

1. Если скачки потребления ресурсов процессора обнаружены в пакетном пуле ресурсов (batch pool), проверьте, не запущены ли процессы резервного копирования (backups).
<!-- endsource: ru/troubleshooting/performance/hardware/_includes/cpu-bottleneck.md -->

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

Добавьте дополнительные [узлы базы данных](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#database-node) в кластер или выделите больше процессорных ядер существующим узлам. Если это невозможно, рассмотрите возможность перераспределения ядер процессора между пулами ресурсов.
