• Русский
  • Конфигурация параметров

    Экземпляр RabbitMQ по умолчанию использует системные параметры, предоставленные RabbitMQ. Вы также можете удобно настроить параметры через интерфейс.

    Совет

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

    Предупреждение

    Обновление параметров приведет к перезапуску экземпляра. Для стабильности вашего приложения, пожалуйста, обновляйте параметры в часы низкой нагрузки.

    Содержание

    Процедура

    CLI
    Веб-консоль

    Параметры для узлов данных экземпляра задаются через поле spec.rabbitmq.additionalConfig ресурса RabbitMQ CR.

    # Обновите конфигурацию узла данных экземпляра s6
    $ kubectl -n default patch rabbitmqclusters <имя экземпляра> --type=merge --patch='{"spec": {"rabbitmq": {"additionalConfig":"channel_max=1000"}}}''

    Описание поддержки параметров

    Название параметраОписание параметраДиапазон значенийЗначение по умолчанию
    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Максимально допустимый размер полезной нагрузки сообщения в байтах. Сообщения, превышающие этот размер, будут отклонены с подходящим исключением канала.Максимальное значение: 536870912max_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.