diff options
author | bazeltsev <bazeltsev@ydb.tech> | 2023-03-17 18:14:41 +0300 |
---|---|---|
committer | bazeltsev <bazeltsev@ydb.tech> | 2023-03-17 18:14:41 +0300 |
commit | a435e54e807f658d511a0a03981ccda818836fb1 (patch) | |
tree | 930e1459c60a35da5fc94703b5e1eb922054da83 | |
parent | d76188ee91496f94beb448c82d8be6f07c2708e7 (diff) | |
download | ydb-a435e54e807f658d511a0a03981ccda818836fb1.tar.gz |
Add actor system config
updated
initial
-rw-r--r-- | ydb/docs/ru/core/deploy/configuration/config.md | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/ydb/docs/ru/core/deploy/configuration/config.md b/ydb/docs/ru/core/deploy/configuration/config.md index 5d5a217bed..b97cb74611 100644 --- a/ydb/docs/ru/core/deploy/configuration/config.md +++ b/ydb/docs/ru/core/deploy/configuration/config.md @@ -4,7 +4,7 @@ В статье приведено описание основных групп конфигурируемых параметров в данном файле. -## host_configs - Типовые конфигурации хостов {#host-configs} +## host_configs — типовые конфигурации хостов {#host-configs} Кластер YDB состоит из множества узлов, для развертывания которых обычно используется одна или несколько типовых конфигураций серверов. Для того чтобы не повторять её описание для каждого узла, в файле конфигурации существует раздел `host_configs`, в котором перечислены используемые конфигурации, и им присвоены идентификаторы. @@ -72,7 +72,7 @@ host_configs: Файлы с примерами конфигурации, поставляемые в составе YDB Kubernetes operator, уже содержат такую секцию, и её не нужно менять. -## hosts - Статические узлы кластера {#hosts} +## hosts — статические узлы кластера {#hosts} В данной группе перечисляются статические узлы кластера, на которых запускаются процессы работы со Storage, и задаются их основные характеристики: @@ -123,7 +123,7 @@ hosts: При развертывании YDB с помощью оператора Kubernetes секция `hosts` полностью генерируется автоматически, заменяя любой указанный пользователем контент в передаваемой оператору конфигурации. Все Storage узлы используют `host_config_id` = `1`, для которого должна быть задана [корректная конфигурация](#host-configs-k8s). -## domains_config - Домен кластера {#domains-config} +## domains_config — домен кластера {#domains-config} Данный раздел содержит конфигурацию корневого домена кластера YDB, включая [конфигурации Blob Storage](#domains-blob) (хранилища бинарных объектов), [State Storage](#domains-state) (хранилища состояний) и [аутентификации](#auth). @@ -376,11 +376,13 @@ domains_config: {% endlist %} -## actor_system_config - Акторная система {#actor-system} +## Акторная система {#actor-system} -Создайте конфигурацию акторной системы. Необходимо указать распределение ядер процессора по пулам из числа доступных ядер в системе. +В секции `actor_system_config` указывается, какое количество ядер CPU узла выделить различным подсистемам кластера {{ ydb-full-name }}. -```bash +Основной потребитель CPU — акторная система. Все акторы, в зависимости от своего типа, выполняются в одном из пулов (параметр `name`). Конфигурирование заключается в распределении ядер процессора узла по пулам акторной системы. При выделении процессорных ядер пулам нужно учитывать, что PDisk и gRPC API работают вне акторной системы и требуют отдельных ресурсов. + +```yaml actor_system_config: executor: - name: System @@ -410,13 +412,19 @@ actor_system_config: spin_threshold: 0 ``` -{% note warning %} - -Не рекомендуется суммарно назначать в пулы IC, Batch, System, User больше ядер, чем доступно в системе. - -{% endnote %} - -## blob_storage_config - Статическая группа кластера {#blob-storage-config} +Параметр | Описание +--- | --- +`executor` | Конфигурация пулов.<br>В конфигах пулов рекомендуется менять только количество ядер процессора (параметр `threads`). +`name` | Имя пула, определяет его назначение. Одно из значений:<ul><li>`System` — предназначен для выполнения быстрых внутренних операций {{ ydb-full-name }} (обслуживает системные таблетки, State Storage, ввод и вывод Distributed Storage, Erasure Сoding);</li><li>`User` — обслуживает пользовательскую нагрузку (пользовательские таблетки, выполнение запросов в Query Processor);</li><li>`Batch` — обслуживает задачи, которые не имеют строгого лимита на время выполнения, фоновых операции (сборка мусора, тяжелые запросы Query Processor);</li><li>`IO` — отвечает за выполнение всех задач с блокирующими операциями (аутентификация, запись логов в файл);</li><li>`IC` — Interconnect, включает нагрузку, связанную с коммуникацией между узлами (системные вызовы для ожидания и отправки по сети данных, сериализация данных, разрезание и склеивание сообщений).</li></ul> +`spin_threshold` | Количество тактов процессора перед уходом в сон при отсутствии сообщений. Состояние сна снижает энергопотребление, но может увеличивать latency запросов во время слабой нагрузки. +`threads` | Количество ядер процессора, выделенных пулу.<br>Не рекомендуется суммарно назначать в пулы System, User, Batch, IC больше ядер, чем доступно в системе. +`time_per_mailbox_micro_secs` | Количество сообщений в каждом акторе, которое будет обработано перед переключением на другой актор. +`type` | Тип пула. Одно из значений:<ul><li>`IO` — укажите для пула IO;</li><li>`BASIC` — укажите для всех остальных пулов.</li></ul> +`scheduler` | Конфигурация шедулера. Шедулер акторной системы отвечает за доставку отложенных сообщений между акторами.<br>Не рекомендуется изменять параметры шедулера по умолчанию. +`progress_threshold` | В акторной системе есть возможность запросить отправку сообщения в будущем по расписанию. Возможна ситуация, когда в определенный момент времени системе не удастся отправить все запланированные сообщения. В этом случае система начинает рассылать сообщения в «виртуальном времени», обрабатывая в каждом цикле отправку сообщений за период, не превышающий `progress_threshold` в микросекундах, и продвигая виртуальное время на `progress_threshold`, пока оно не догонит реальное. +`resolution` | При составлении расписания отправки сообщений используются дискретные временные слоты. Длительность слота задается параметром `resolution` в микросекундах. + +## blob_storage_config — статическая группа кластера {#blob-storage-config} Укажите конфигурацию статической группы кластера. Статическая группа необходима для работы базовых таблеток кластера, в том числе `Hive`, `SchemeShard`, `BlobstorageContoller`. Обычно данные таблетки не хранят много информации, поэтому мы не рекомендуем создавать более одной статической группы. |