#Конфигурация параметров
Экземпляр RabbitMQ по умолчанию использует системные параметры, предоставленные RabbitMQ. Вы также можете удобно настроить параметры через интерфейс.
После обновления RabbitMQ, если есть параметры, которые необходимо удалить, которые устарели или которые нужно изменить, пожалуйста, обратитесь к официальному сайту RabbitMQ для соответствующих изменений.
Обновление параметров приведет к перезапуску экземпляра. Для стабильности вашего приложения, пожалуйста, обновляйте параметры в часы низкой нагрузки.
#Содержание
#Процедура
Параметры для узлов данных экземпляра задаются через поле spec.rabbitmq.additionalConfig ресурса RabbitMQ CR.
# Обновите конфигурацию узла данных экземпляра s6
$ kubectl -n default patch rabbitmqclusters <имя экземпляра> --type=merge --patch='{"spec": {"rabbitmq": {"additionalConfig":"channel_max=1000"}}}''-
Нажмите RabbitMQ в левой навигационной панели.
-
Нажмите на название пространства имён.
-
Нажмите на имя экземпляра.
-
Вкладка Параметры, нажмите Обновить параметры.
-
Установите параметры.
-
Нажмите Обновить.
#Описание поддержки параметров
| Название параметра | Описание параметра | Диапазон значений | Значение по умолчанию |
|---|---|---|---|
| num_acceptors.tcp | Количество процессов Erlang, которые будут принимать соединения для TCP слушателей. | - | num_acceptors.tcp = 10 |
| handshake_timeout | Максимальное время для рукопожатия AMQP 0-9-1 (после соединения сокетов и рукопожатия TLS), в миллисекундах. | - | handshake_timeout = 10000 |
| vm_memory_high_watermark.relative | Порог памяти, при котором активируется управление потоком. Это может быть абсолютным или относительным по отношению к объему ОЗУ, доступному ОС. | - | vm_memory_high_watermark.relative = 0.4 |
| vm_memory_calculation_strategy | Стратегия отчетности по использованию памяти | allocated rss legacy erlang | vm_memory_calculation_strategy = allocated |
| vm_memory_high_watermark_paging_ratio | Доля лимита высокого уровня, при достижении которой очереди начинают переносить сообщения на диск, чтобы освободить память. См. документацию по управлению потоком на основе памяти. | - | vm_memory_high_watermark_paging_ratio = 0.5 |
| total_memory_available_override_value | Позволяет переопределить общее количество доступной памяти, вместо того чтобы выводить ее из окружающей среды с помощью специфических для ОС средств. Это следует использовать только тогда, когда фактическое максимальное количество ОЗУ, доступного узлу, не соответствует значению, выведенному узлом, например, из-за контейнеризации или аналогичных ограничений, неизвестных узлу. Значение может быть задано в виде целого числа байт или, альтернативно, в удобочитаемых единицах (например, 8GB). Например, при установке на 4 ГБ узел считает, что он работает на машине с 4 ГБ ОЗУ. | - | - |
| disk_free_limit.absolute | Лимит свободного места на диске для раздела, на котором RabbitMQ хранит данные. Когда доступное место на диске падает ниже этого лимита, управляется поток. Значение может быть установлено относительно общего объема ОЗУ или как абсолютное значение в байтах или, альтернативно, в удобочитаемых единицах (например, 50MB или 5GB). | - | disk_free_limit.absolute = 50MB |
| log.file.level | Контролирует детальность ведения журнала. Значение представляет собой список пар категорий событий журнала и уровней журнала. | error warning info debug | log.file.level = info |
| channel_max | Максимальное допустимое количество каналов, которые могут быть согласованы с клиентами, исключая специальный номер канала 0, используемый в протоколе. Установка на 0 означает «неограничено», что является опасным значением, поскольку приложения иногда могут иметь утечки каналов. Использование большего количества каналов увеличивает объем памяти, занимаемой брокером. | - | channel_max = 2047 |
| channel_operation_timeout | Тайм-аут операций канала в миллисекундах (используется внутренне, не открывается напрямую для клиентов из-за различий в протоколах сообщений и ограничений). | - | channel_operation_timeout = 15000 |
| max_message_size | Максимально допустимый размер полезной нагрузки сообщения в байтах. Сообщения, превышающие этот размер, будут отклонены с подходящим исключением канала. | Максимальное значение: 536870912 | max_message_size = 134217728 |
| heartbeat | Значение, представляющее тайм-аут сердцебиения, предложенный сервером во время согласования параметров соединения. Если установить значение 0 на обоих концах, сердцебиения отключены (это не рекомендуется). См. руководство по сердцебиениям для подробностей. | - | heartbeat = 60 |
| default_vhost | Виртуальный хост, создаваемый при создании новой базы данных RabbitMQ с нуля. Обмен amq.rabbitmq.log будет существовать в этом виртуальном хосте. | - | default_vhost = / |
| collect_statistics | Режим сбора статистики. В основном актуален для плагина управления. | none coarse fine | collect_statistics = none |
| collect_statistics_interval | Интервал сбора статистики в миллисекундах. В основном актуален для плагина управления. | - | collect_statistics_interval = 5000 |
| management_db_cache_multiplier | Влияет на количество времени, в течение которого плагин управления кеширует дорогостоящие управленческие запросы, такие как списки очередей. Кеш умножит прошедшее время последнего запроса на это значение и закеширует результат на этот срок. | - | management_db_cache_multiplier = 5 |
| delegate_count | Количество процессов делегирования, которые будут использоваться для внутрекластерного общения. На машинах с очень большим количеством ядер и которые также являются частью кластера, вы можете увеличить это значение. | - | delegate_count = 16 |
| hipe_compile | Не используйте. Эта опция больше не поддерживается. Поддержка HiPE была прекращена, начиная с Erlang 22. | - | hipe_compile = false |
| cluster_partition_handling | Как обрабатывать сетевые разделения. | ignore autoheal pause_minority pause_if_all_down | cluster_partition_handling = ignore |
| cluster_keepalive_interval | С какой частотой узлы должны отправлять сообщения о поддержании связи друг другу (в миллисекундах). Обратите внимание, что это не то же самое, что net_ticktime; пропущенные сообщения о поддержании связи не приведут к тому, что узлы будут считаться неработающими. | - | cluster_keepalive_interval = 10000 |
| queue_index_embed_msgs_below | Размер в байтах сообщений, ниже которого сообщения будут встроены напрямую в индекс очереди. Рекомендуется обратиться к документации по настройке персистеров перед внесением изменений. | - | queue_index_embed_msgs_below = 4096 |
| mnesia_table_loading_retry_timeout | Тайм-аут, используемый при ожидании, когда таблицы Mnesia в кластере станут доступными. | - | mnesia_table_loading_retry_timeout = 30000 |
| mnesia_table_loading_retry_limit | Количество попыток при ожидании таблиц Mnesia во время старта кластера. Обратите внимание, что эта настройка не применяется к обновлениям Mnesia или удалению узлов. | - | mnesia_table_loading_retry_limit = 10 |
| mirroring_sync_batch_size | Размер пакета, используемый для передачи сообщений на несинхронизированную реплику (зеркало очереди). См. документацию по стремительной пакетной синхронизации. | - | mirroring_sync_batch_size = 4096 |
| queue_master_locator | Стратегия расположения лидера очереди. Доступные стратегии: | min-masters client-local random | queue_master_locator = client-local |
Для получения дополнительной информации о поддерживаемых параметрах, пожалуйста, обратитесь к официальному сайту RabbitMQ.