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

# Диагностика проблем с производительностью

Решение проблем с производительностью баз данных требует комплексного подхода, который включает в себя оптимизацию запросов, правильную конфигурацию аппаратных ресурсов, а также грамотную архитектуру базы данных и использующих её приложений. Регулярный мониторинг и обслуживание базы данных являются необходимыми условиями для диагностики и решения таких проблем.

## Инструменты для диагностики проблем с производительностью

Для диагностики проблем с производительностью YDB используются следующие инструменты:

- [YDB метрики](https://ydb.tech/docs/ru/reference/observability/metrics/index.md?version=v25.4).

    Диагностика большинства проблем с производительностью включает анализ [дашбордов в Grafana](https://ydb.tech/docs/ru/reference/observability/metrics/grafana-dashboards.md?version=v25.4), которые используют метрики YDB, собираемые с помощью Prometheus. Описание установки Grafana и Prometheus см. в разделе [Настройка мониторинга кластера YDB](https://ydb.tech/docs/ru/devops/observability/monitoring.md?version=v25.4);

- [Логи YDB](https://ydb.tech/docs/ru/devops/observability/logging.md?version=v25.4);
- [Трассировка](https://ydb.tech/docs/ru/reference/observability/tracing/setup.md?version=v25.4);
- [YDB CLI](https://ydb.tech/docs/ru/reference/ydb-cli/index.md?version=v25.4);
- [Встроенный UI](https://ydb.tech/docs/ru/reference/embedded-ui/index.md?version=v25.4);
- [Планы запросов](https://ydb.tech/docs/ru/dev/query-execution-optimization/query-plans-optimization.md?version=v25.4);
- Сторонние инструменты мониторинга.

## Классификация проблем с производительностью YDB

Проблемы с производительностью YDB можно разделить на несколько категорий. Данный раздел документации предоставляет общее описание этих категорий, начиная с самого низкого уровня системы и поднимаясь до уровня клиента. Сами инструкции по диагностике проблем [см. ниже](#instructions).

### Проблемы с инфраструктурой

- **[Сетевые проблемы](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/network.md?version=v25.4)**. Перегрузка сети внутри датацентра и особенно между датацентрами, может значительно повлиять на производительность YDB.

- **[Сбои в работе датацентров](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/dc-outage.md?version=v25.4)**. Нарушения работы датацентров могут привести к недоступности сервиса или данных. Для решения данной проблемы кластер YDB можно настроить на работу в трёх датацентрах или зонах доступности. Однако при этом также необходимо учитывать вопрос производительности.

- **[Сервисные работы и учения датацентров](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/dc-drills.md?version=v25.4)**. Плановые сервисные работы или учения для подготовки персонала к потенциальным чрезвычайным ситуациям и сбоям также могут влиять на производительность выполнения запросов. В зависимости от масштаба сервисных работ или сценария учений серверы YDB могут стать недоступными, что повлечёт за собой те же последствия, что и сбой в работе датацентра.

- **[Аппаратные неисправности серверов](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/hardware.md?version=v25.4)**. Неисправный процессор, модули памяти или сетевые карты значительно влияют на производительность базы данных или приводят к полной недоступности сервера.

### Проблемы с нехваткой аппаратных ресурсов

Такие проблемы возникают, когда нагрузка на базу данных требует больше аппаратных ресурсов — таких как процессор, память, дисковое пространство или пропускная способность сети — чем было выделено. В некоторых случаях неоптимальное выделение ресурсов, например неправильная настройка [контрольных групп (cgroups)](https://ru.wikipedia.org/wiki/Контрольная_группа_(Linux)) или [пулов ресурсов акторной системы](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.4#actor-system-pool), может привести к нехватке аппаратных ресурсов для YDB и увеличить задержки запросов, даже если для сервера баз данных было выделено достаточно аппаратных ресурсов.

- **[Недостаточное быстродействие процессора](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/cpu-bottleneck.md?version=v25.4)**. Высокая нагрузка на процессор может привести к медленному выполнению запросов и увеличению задержек. В условиях ограниченного ресурса процессора база данных может с трудом справляться со сложными запросами или интенсивным потоком транзакционных запросов.

- **[Недостаточное дисковое пространство](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/disk-space.md?version=v25.4)**. Нехватка места на диске может привести к невозможности сохранения новых данных, когда база переходит в режим только для чтения. Эта проблема может также приводить к замедлению работы, когда система пытается освободить дисковое пространство, активнее приводя данные к более компактному виду в фоне.

- **[Недостаточный объём памяти (RAM)](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/insufficient-memory.md?version=v25.4)**. Обработка запросов требует памяти для временного хранения промежуточных данных. Недостаток свободной памяти может негативно повлиять на производительность базы данных.

- **[Недостаточная пропускная способность](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/io-bandwidth.md?version=v25.4)**. Высокая скорость операций чтения/записи может перегрузить дисковую систему и приводить к увеличению задержек доступа к данным. Когда [распределённое хранилище](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.4#distributed-storage) не может читать или записывать данные с достаточной скоростью, запросы к базе данных, требующие доступа к диску, могут замедляться.

### Проблемы на уровне операционной системы

- **[Расхождение системного времени на серверах](https://ydb.tech/docs/ru/troubleshooting/performance/system/system-clock-drift.md?version=v25.4)**. Увеличение расхождения системного времени на серверах YDB приводит к росту задержек распределённых транзакций. Большая разница во времени приводит к невозможности выполнения распределённых транзакций.

### Проблемы на уровне конфигурации YDB

- **[Обновления YDB](https://ydb.tech/docs/ru/troubleshooting/performance/ydb/ydb-updates.md?version=v25.4)**. Следует учитывать два основных аспекта: рестарт всех узлов YDB в относительно короткий промежуток времени и отличия в поведении разных версий YDB.

- Ошибки конфигурации пулов ресурсов акторной системы.

### Проблемы, связанные со схемами таблиц

- **[Перегруженные таблетки data shard](https://ydb.tech/docs/ru/troubleshooting/performance/schemas/overloaded-shards.md?version=v25.4)**. Таблетки data shard, обслуживающие строчные таблицы, могут быть перегружены по нескольким причинам. Такая перегрузка приводит к росту задержек при выполнении запросов, выполняемых этими таблетками.

- **[Избыточные разделения и слияния партиций таблиц](https://ydb.tech/docs/ru/troubleshooting/performance/schemas/splits-merges.md?version=v25.4)**. YDB поддерживает автоматическое разделение и слияние таблеток data shard, что позволяет легко адаптироваться к изменениям в рабочих нагрузках. Однако эти операции не являются бесплатными и могут оказать кратковременное негативное влияние на задержки запросов.

### Проблемы, связанные с клиентскими приложениями

- **Проблемы с запросами**. Неэффективные запросы к базе данных могут выполняться значительно медленнее.

- **Проблемы использования SDK**. Проблемы, связанные с неоптимальным или неправильным использованием YDB SDK.

## Инструкции {#instructions}

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

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

1. Перегруженные [шарды](https://ydb.tech/docs/ru/troubleshooting/performance/schemas/overloaded-shards.md?version=v25.4) и [ошибки `overloaded`](https://ydb.tech/docs/ru/troubleshooting/performance/queries/overloaded-errors.md?version=v25.4);
1. [Разделение и слияние партиций таблиц](https://ydb.tech/docs/ru/troubleshooting/performance/schemas/splits-merges.md?version=v25.4);
1. [Частые переезды таблеток между узлами](https://ydb.tech/docs/ru/troubleshooting/performance/ydb/tablets-moved.md?version=v25.4);
1. Недостаточные аппаратные ресурсы:

    - [Недостаточная пропускная способность ввода-вывода](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/io-bandwidth.md?version=v25.4);
    - [Недостаточное дисковое пространство](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/disk-space.md?version=v25.4);
    - [Недостаточное быстродействие процессора](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/cpu-bottleneck.md?version=v25.4);
    - [Недостаточный объём памяти (RAM)](https://ydb.tech/docs/ru/troubleshooting/performance/hardware/insufficient-memory.md?version=v25.4);

1. [Аппаратные неисправности](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/hardware.md?version=v25.4) и [Сбои в работе датацентров](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/dc-outage.md?version=v25.4);
1. [Сетевые проблемы](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/network.md?version=v25.4);
1. [Процедура последовательного перезапуска](https://ydb.tech/docs/ru/troubleshooting/performance/ydb/ydb-updates.md?version=v25.4);
1. [Расхождение системного времени между серверами](https://ydb.tech/docs/ru/troubleshooting/performance/system/system-clock-drift.md?version=v25.4);
1. [Инвалидация блокировок транзакций](https://ydb.tech/docs/ru/troubleshooting/performance/queries/transaction-lock-invalidation.md?version=v25.4);
1. [Сервисные работы и учения датацентров](https://ydb.tech/docs/ru/troubleshooting/performance/infrastructure/dc-drills.md?version=v25.4).
