【前言】
前面几篇文章讲述了rabbitmq消息存储的相关原理,也提到了有些参数可以进行配置。这些配置参数的微调在不同的场景中会有不同的效果。本文对其中一些参数进行说明,同时以实测数据结合性能分析工具进行剖析。
【相关参数说明】
-
queue_index_embed_msgs_below
控制消息的存储位置。是独立存储到msg_store中,还是嵌入消息的索引一并存储。默认值是4096(字节),即小于4KB的消息会嵌入到消息索引中一并存储。
注:4KB包括消息内容以及消息的属性等元数据信息,其中消息的元数据信息占用至少300字节。
-
queue_index_max_journal_entries
索引文件写磁盘之前能缓存的最大日志条数。默认值为32768,即消息的publish、delivery、ack操作数达到32768次后,会将日志文件journal.jif中的内容写到对应的索引文件(*.idx)中。索引文件的存储细节戳这里。
注:该值是针对队列的,并非全局设置的值。
-
msg_store_io_batch_size
对于非lazy队列,触发paging时,内部Q1,Q2,delta,Q3,Q4