---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ydb.tech/docs/en/devops/concepts/cpu-production-settings.md?version=main
  - https://ydb.tech/docs/ru/devops/concepts/cpu-production-settings.md?version=main
sourcePath: ru/core/devops/concepts/cpu-production-settings.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Настройки CPU для production {#cpu-production-settings}

## Проблема {#problem}

Энергосберегающие режимы процессора (такие как Intel SpeedStep, AMD Cool'n'Quiet, C-states, P-states) могут негативно влиять на производительность YDB по нескольким причинам:

1. **Нестабильная частота процессора** — YDB ожидает стабильной производительности CPU для предсказуемого выполнения операций.
2. **Проблемы с affinity ядер** — при изменении частоты отдельных ядер нарушается балансировка нагрузки между потоками.
3. **Задержки переключения режимов** — переходы между энергосберегающими состояниями вводят дополнительные задержки.
4. **Непредсказуемая производительность** — операции могут выполняться с разной скоростью в зависимости от текущего режима процессора.

Симптомы проблемы:

* Нестабильное время выполнения запросов.
* Необъяснимые просадки производительности.
* Проблемы с балансировкой нагрузки между узлами кластера.
* Непредсказуемое поведение при высокой нагрузке.

## Решение {#solution}

### Рекомендуемые настройки BIOS/UEFI {#bios}

Для серверов YDB рекомендуется настроить следующие параметры BIOS/UEFI:

1. **CPU Power Management** — перевести в режим «Performance» или «Max Performance».
2. **Intel Turbo Boost** — рекомендуется включить для максимальной производительности.
3. **C-states** — отключить или ограничить до C1/C1E.
4. **P-states** — использовать фиксированную максимальную частоту.
5. **Intel SpeedStep / AMD Cool'n'Quiet** — отключить.
6. **Package C-State Limit** — установить в C0 или C1.

### Настройки операционной системы {#os}

Для Linux-систем при **ручном** развёртывании (при использовании [Ansible-роли](https://ydb.tech/docs/ru/devops/deployment-options/ansible/index.md?version=main) это настраивается автоматически) выполните следующие команды с правами администратора:

```bash
# Установить governor в режим performance для всех ядер
echo 'performance' | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null

# Установить минимальную частоту равной максимальной
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq | \
sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq >/dev/null

# Отключить энергосбережение для PCIe
echo 'performance' | sudo tee /sys/module/pcie_aspm/parameters/policy >/dev/null
```

### Проверка текущих настроек {#check}

Для проверки текущего состояния можно использовать следующие команды. После применения настроек первая команда должна выводить `performance` для каждого ядра.

```bash
# Проверить текущий governor
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# Проверить доступные частоты
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

# Проверить C-states
cat /sys/devices/system/cpu/cpu0/cpuidle/state*/name
```

## Обоснование {#rationale}

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

Стабильная частота процессора обеспечивает:

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

## Исключения {#exceptions}

В некоторых сценариях можно рассмотреть компромиссные решения:

* **Тестовые среды** — где энергоэффективность важнее производительности.
* **Резервные узлы** — не участвующие в активной обработке.
* **Среды с низкой нагрузкой** — где экономия энергии имеет приоритет.

Однако для production-сред с высокой нагрузкой рекомендуется строго следовать приведённым рекомендациям.
