rabbitMQ消费吞吐性能调优-个人实践记录

1.增加消费者个数,每个消费者1个通道(SimpleMessageListenerContainer)

container.setConcurrentConsumers(5);
container.setMaxConcurrentConsumers(50);

2.调整批量获取消息条数

container.setPrefetchCount(500);

3.打开批量Ack

//处理完消息后返回
channel.basicAck(deliveryTag, true); //确认成功,队列会删除该消息,true表示打开批量Ack

4.消费处理多线程处理(和增加消费者个数思路类似,每个消费者一个通道会比这个效率高)

5.提高消息处理性能(例:存库时,优化sql或数据库本身的瓶颈)

6.rabbitMQ性能优化

配置消息存放

[root@rabbit1 rabbitmq_server-3.7.25]# vi etc/rabbitmq/rabbitmq.conf

按百分比

disk_free_limit.relative=0.5

或者按固定值

disk_free_limit.absolute=10GB

修改进程数

# vi /etc/profile 
增加   ulimit -SHn 65536
# source /etc/profile
重启rabbitMQ

但是系统重启后又恢复默认,还需修改以下文件

# vi /etc/security/limits.conf

#末尾添加如下内容
* soft nofile 65536
* hard nofile 131072

你可能感兴趣的:(rabbitMQ,消息组件)