rabbitmq.config配置參數詳解

rabbitmq.config配置參數詳解

rabbitmq.config詳細配置參數

詳細使用方法請點擊:http://www.cnblogs.com/wyt007/p/9073316.html

Key

Documentation

tcp_listeners

用於監聽 AMQP連接的端口列表(無SSL). 可以包含整數 (即"監聽所有接口")或者元組如 {"127.0.0.1", 5672} 用於監聽一個或多個接口.

Default: [5672]

num_tcp_acceptors

接受TCP偵聽器連接的Erlang進程數。

Default: 10

handshake_timeout

AMQP 0-8/0-9/0-9-1 handshake (在 socket連接和SSL 握手之後)的最大時間, 毫秒爲單位.

Default: 10000

ssl_listeners

如上所述,用於SSL連接。

Default: []

num_ssl_acceptors

接受SSL偵聽器連接的Erlang進程數。

Default: 1

ssl_options

SSL配置.參考SSL documentation.

Default: []

ssl_handshake_timeout

SSL handshake超時時間,毫秒爲單位.

Default: 5000

vm_memory_high_watermark

流程控制觸發的內存閥值.相看memory-based flow control 文檔.

Default: 0.4

vm_memory_high_watermark_paging_ratio

高水位限制的分數,當達到閥值時,隊列中消息消息會轉移到磁盤上以釋放內存. 參考memory-based flow control 文檔.

Default: 0.5

disk_free_limit

RabbitMQ存儲數據分區的可用磁盤空間限制.當可用空間值低於閥值時,流程控制將被觸發.此值可根據RAM的總大小來相對設置 (如.{mem_relative, 1.0}).此值也可以設爲整數(單位爲bytes)或者使用數字單位(如."50MB").默認情況下,可用磁盤空間必須超過50MB.參考 Disk Alarms 文檔.

Default: 50000000

log_levels

控制日誌的粒度.其值是日誌事件類別(category)和日誌級別(level)成對的列表.

level 可以是 'none' (不記錄日誌事件), 'error' (只記錄錯誤), 'warning' (只記錄錯誤和警告), 'info' (記錄錯誤,警告和信息), or 'debug' (記錄錯誤,警告,信息以及調試信息).

目前定義了4種日誌類別. 它們是:

  • channel -針對所有與AMQP channels相關的事件
  • connection - 針對所有與網絡連接相關的事件
  • federation - 針對所有與federation相關的事件
  • mirroring -針對所有與 mirrored queues相關的事件

Default: [{connection, info}]

frame_max

與客戶端協商的允許最大frame大小. 設置爲0表示無限制,但在某些QPid客戶端會引發bug. 設置較大的值可以提高吞吐量;設置一個較小的值可能會提高延遲.
 

Default: 131072

channel_max

與客戶端協商的允許最大chanel大小. 設置爲0表示無限制.該數值越大,則broker使用的內存就越高.

Default: 0

channel_operation_timeout

Channel 操作超時時間(毫秒爲單位) (內部使用,因爲消息協議的區別和限制,不暴露給客戶端).

Default: 5000

heartbeat

表示心跳延遲(單位爲秒) ,服務器將在connection.tune frame中發送.如果設置爲 0, 心跳將被禁用. 客戶端可以不用遵循服務器的建議, 查看 AMQP reference 來了解詳情. 禁用心跳可以在有大量連接的場景中提高性能,但可能會造成關閉了非活動連接的網絡設備上的連接落下.

Default: 60 (3.5.5之前的版本是580)

default_vhost

當RabbitMQ從頭開始創建數據庫時創建的虛擬主機. amq.rabbitmq.log交換器會存在於這個虛擬主機中.

Default: <<"/">>

default_user

RabbitMQ從頭開始創建數據庫時,創建的用戶名.

Default: <<"guest">>

default_pass

默認用戶的密碼.

Default: <<"guest">>

default_user_tags

默認用戶的Tags.

Default: [administrator]

default_permissions

創建用戶時分配給它的默認Permissions .

Default: [<<".*">>, <<".*">>, <<".*">>]

loopback_users

只能通過環回接口(即localhost)連接broker的用戶列表

如果你希望默認的guest用戶能遠程連接,你必須將其修改爲[].

Default: [<<"guest">>]

cluster_nodes

當節點第一次啓動的時候,設置此選項會導致集羣動作自動發生. 元組的第一個元素是其它節點想與其建立集羣的節點. 第二個元素是節點的類型,要麼是disc,要麼是ram

Default: {[], disc}

server_properties

連接時向客戶端聲明的鍵值對列表

Default: []

collect_statistics

統計收集模式。主要與管理插件相關。選項:

  • none (不發出統計事件)
  • coarse (發出每個隊列 /每個通道 /每個連接的統計事件)
  • fine (也發出每個消息統計事件)

你自已可不用修改此選項.

Default: none

collect_statistics_interval

統計收集時間間隔(毫秒爲單位). 主要針對於 management plugin.

Default: 5000

auth_mechanisms

提供給客戶端的SASL authentication mechanisms.

Default: ['PLAIN', 'AMQPLAIN']

auth_backends

用於 authentication / authorisation backends 的列表. 此列表可包含模塊的名稱(在模塊相同的情況下,將同時用於認證來授權)或像{ModN, ModZ}這樣的元組,在這裏ModN將用於認證,ModZ將用於授權.

在2元組的情況中, ModZ可由列表代替,列表中的所有元素必須通過每個授權的確認,如{ModN, [ModZ1, ModZ2]}.這就允許授權插件進行組合提供額外的安全約束.

除rabbit_auth_backend_internal外,其它數據庫可以通常 plugins來使用.

Default: [rabbit_auth_backend_internal]

reverse_dns_lookups

設置爲true,可讓客戶端在連接時讓RabbitMQ 執行一個反向DNS查找, 然後通過 rabbitmqctl 和 管理插件來展現信息.
 

Default: false

delegate_count

內部集羣通信中,委派進程的數目. 在一個有非常多核的機器(集羣的一部分)上,你可以增加此值.

Default: 16

trace_vhosts

 tracer內部使用.你不應該修改.

Default: []

tcp_listen_options

默認socket選項. 你可能不想修改這個選項.

Default:

[{backlog,       128},          {nodelay,       true},          {exit_on_close, false}]

hipe_compile

將此選項設置爲true,將會使用HiPE預編譯部分RabbitMQ,Erlang的即時編譯器.
這可以增加服務器吞吐量,但會增加服務器的啓動時間.
你可以看到花費幾分鐘延遲啓動的成本,就可以帶來20-50% 更好性能.這些數字與高度依賴於工作負載和硬件.

HiPE 支持可能沒有編譯進你的Erlang安裝中.如果沒有的話,啓用這個選項,並啓動RabbitMQ時,會看到警告消息. 例如, Debian / Ubuntu 用戶需要安裝erlang-base-hipe 包.

HiPE並非在所有平臺上都可用,尤其是Windows.

在 Erlang/OTP 17.5版本之前,HiPE有明顯的問題 . 對於HiPE,使用最新的OTP版本是高度推薦的.

Default: false

cluster_partition_handling

如何處理網絡分區.可用模式有:

  • ignore
  • pause_minority
  • {pause_if_all_down, [nodes], ignore | autoheal}where [nodes] is a list of node names
    (ex: ['rabbit@node1', 'rabbit@node2'])
  • autoheal

參考documentation on partitions 來了解更多信息

Default: ignore

cluster_keepalive_interval

節點向其它節點發送存活消息和頻率(毫秒). 注意,這與 net_ticktime是不同的;丟失存活消息不會引起節點掉線

Default: 10000

queue_index_embed_msgs_below

消息大小在此之下的會直接內嵌在隊列索引中. 在修改此值時,建議你先閱讀  persister tuning 文檔.

Default: 4096

msg_store_index_module

隊列索引的實現模塊. 在修改此值時,建議你先閱讀  persister tuning 文檔.

Default: rabbit_msg_store_ets_index

backing_queue_module

隊列內容的實現模塊. 你可能不想修改此值.

Default: rabbit_variable_queue

msg_store_file_size_limit

Tunable value for the persister. 你幾乎肯定不應該改變此值。

Default: 16777216

mnesia_table_loading_timeout

在集羣中等待使用Mnesia表可用的超時時間。

Default: 30000

queue_index_max_ journal_entries

Tunable value for the persister. 你幾乎肯定不應該改變此值。

Default: 65536

queue_master_locator

Queue master 位置策略.可用策略有:

  • <<"min-masters">>
  • <<"client-local">>
  • <<"random">>

查看documentation on queue master location 來了解更多信息.

Default: <<"client-local">>

 

轉自:https://blog.csdn.net/super_rd/article/details/70327712

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章