参数调优
1. 调优生产者客户端参数
默认消息就是持久化的,如果对应的队列和交换机都没有配置持久化,一旦mq重启,没有配置持久化的队列和交换机将会消失,里面的消息也会消失
-
durable参数
在rabbit:queue中,durable=“true” 开启持久化。
在rabbit:direct-exchange中,durable=“true” 开启持久化。
2. 调优消费者客户端参数
-
prefetch参数
在rabbit:listener-container中,一次性预取xx条消息到内存进行消费,能有效减小网络开销,官方推荐100 — 300,这将使消费者在大多数常见场景中保持忙碌,从而提高吞吐量。
并发流量高的队列建议设置为:100 - 300
并发流量低的队列建议设置为:1
-
concurrency和max-concurrency参数
在rabbit:listener-container中,消费端的监听个数,即@RabbitListener开启几个线程去处理数据。其中需要注意的是,该项目所有concurrency值的和,不能大于2048,不然会报channel异常,max-concurrency同理。
并发流量高的队列建议设置为:30 -200
并发流量低的队列建议设置为:2 - 4
-
acknowledge参数
在rabbit:listener-container中,消息确认机制,有自动确认、手动确认、不确认3种,不同模式的选择会影响消息性能
可承受少量消息丢失,可以设为自动确认
如果为了防止数据丢失,可以设置为手动确认
-
消息确认机制中basicAck的multiple参数</

本文介绍了RabbitMQ的参数调优,包括生产者客户端的durable参数确保消息持久化,消费者客户端的prefetch参数优化网络开销,concurrency和max-concurrency参数调整线程数,acknowledge参数选择合适的确认机制,以及线程池的合理配置以减少资源损耗。同时,强调了在高并发和低并发场景下各参数的建议值。
最低0.47元/天 解锁文章
1696

被折叠的 条评论
为什么被折叠?



