Rabbitmq配置调优

news/2025/2/22 0:26:31/

1、参数调优

  • queue_index_embed_msgs_below:
    控制消息的存储位置。是独立存储到msg_store中,还是嵌入消息的索引一并存储。默认值是4096(字节),即小于4KB的消息会嵌入到消息索引中一并存储。**注:**4KB包括消息内容以及消息的属性等元数据信息,其中消息的元数据信息占用至少300字节。配置缺省参数如下:
    在这里插入图片描述

  • num_acceptors.tcp:
    接受TCP侦听器连接的Erlang进程数。Default: 10,这个值直接影响到了另一个值即:connection_max,这个值是在客户端设的,公式如下:最大连接数=connection_max +num_acceptors -1
    在这里插入图片描述

  • handshake_timeout:
    AMQP 0-8/0-9/0-9-1 handshake (在 socket连接和SSL 握手之后)的最大时间, 毫秒为单位.Default: 10000,这边10秒是足够了,不能再长了,再长这个不是网络了,是电话拨号网。
    在这里插入图片描述

  • vm_memory_high_watermark.relative:
    流程控制触发的内存阀值,这个值必须设,设置法则如下:<=16gb内存的机器,设成0.4即MQ最多会使用到16gb*0.4=6.4GB时,阻塞所有的请求,>=32gb内存的机器,设成0.6
    在这里插入图片描述

  • vm_memory_high_watermark_paging_ratio:
    高水位限制的分数,当达到阀值时,队列中消息消息会转移到磁盘上以释放内存。设置机制同vm_memory_high_watermark,只不过它的阀值从0.5~0.6.即当内存的使用达到了50%后,队列开始将消息分页到磁盘。
    在这里插入图片描述

  • disk_free_limit.absolute:
    abbitMQ存储数据分区的可用磁盘空间限制.当可用空间值低于阀值时,流程控制将被触发.此值可根据RAM的总大小来相对设置 (如.{mem_relative, 1.0}).此值也可以设为整数(单位为bytes)或者使用数字单位(如.“50MB”).因此,很多外面都设1GB,这个显然是不够的,因为经如果当RABBITMQ的消息dump可用磁盘还剩1GB时,此时留给你的处理时间已经很短了,一般至少设成10GB。

  • frame_max:
    与客户端协商的允许最大frame大小. 设置为0表示无限制,但在某些QPid客户端会引发bug. 设置较大的值可以提高吞吐量;设置一个较小的值可能会提高延迟。
    在这里插入图片描述

  • initial_frame_max:
    咬合客户端的值,如配置文件描述所示:

  • channel_max:
    与客户端协商的允许最大chanel大小. 设置为0表示无限制.该数值越大,则broker使用的内存就越高.Default: 0
    在这里插入图片描述

  • heartbeat:
    表示心跳延迟(单位为秒) ,服务器将在connection.tune frame中发送.如果设置为 0, 心跳将被禁用. 客户端可以不用遵循服务器的建议, 查看 AMQP reference 来了解详情. 禁用心跳可以在有大量连接的场景中提高性能,但可能会造成关闭了非活动连接的网络设备上的连接落下.Default: 60 (3.5.5之前的版本是580)
    在这里插入图片描述

  • 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


样例配置:


listeners.tcp.default = 5672num_acceptors.tcp = 20handshake_timeout = 10000vm_memory_high_watermark.relative = 0.4
# vm_memory_high_watermark.absolute = 6GBvm_memory_calculation_strategy = rssvm_memory_high_watermark_paging_ratio = 0.5disk_free_limit.absolute = 10GBframe_max = 131072initial_frame_max = 4096channel_max = 2047heartbeat = 60default_vhost = /hipe_compile = true

http://www.ppmy.cn/news/1054191.html

相关文章

昌硕科技、世硕电子同步上线法大大电子合同

近日&#xff0c;世界500强企业和硕联合旗下上海昌硕科技有限公司&#xff08;以下简称“昌硕科技”&#xff09;、世硕电子&#xff08;昆山&#xff09;有限公司&#xff08;以下简称“世硕电子”&#xff09;的电子签项目正式上线。上线仪式在上海浦东和硕集团科研大楼举行&…

java 项目运行时,后端控制台出现空指针异常---java.lang.NullPointerException

项目场景&#xff1a; 提示&#xff1a;这里简述项目背景&#xff1a; 场景如下&#xff1a; java 项目运行时&#xff0c;后端控制台出现如下图所示报错信息&#xff1a;— 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; java 项目运行时&#xff0c;后…

ensp单臂路由

文章目录 单臂路由速览版本 单臂路由DHCP速览版本 单臂路由 速览版本 R1 # interface Ethernet0/0/0.10dot1q termination vid 10ip address 192.168.1.254 255.255.255.0arp broadcast enable # interface Ethernet0/0/0.20dot1q termination vid 20ip address 192.168.2.2…

实例042 在窗口间移动按扭

实例说明 窗体中每个可视控件都有所有者和父对象两个重要属性&#xff0c;所有者是控件建立时指定的所属对象&#xff0c;该对象可以是不可视控件&#xff0c;而父对象必须是可视控件。因此可以通过窗体中可视控件的Parent属性来判断控件是否在这个窗体中&#xff0c;还可以用…

Typora mac版本安装

提示&#xff1a;文章介绍&#xff0c;Typora在Mac系统中免费安装使用 文章目录 一、官网下载二、安装 一、官网下载 官网地址&#xff1a;https://www.typoraio.cn/ 二、安装 安装好后按 command 空格键&#xff0c;找到 Typora的安装路径 /Applications/Typora.app/Con…

P1067 [NOIP2009 普及组] 多项式输出

题目描述 一元 n n n 次多项式可用如下的表达式表示&#xff1a; f ( x ) a n x n a n − 1 x n − 1 ⋯ a 1 x a 0 , a n ≠ 0 f(x)a_nx^na_{n-1}x^{n-1}\cdots a_1xa_0,a_n\ne 0 f(x)an​xnan−1​xn−1⋯a1​xa0​,an​0 其中&#xff0c; a i x i a_ix^i ai​xi …

【中危】Apache Ivy<2.5.2 存在XXE漏洞 (CVE-2022-46751)

漏洞描述 Apache Ivy 是一个管理基于 ANT 项目依赖关系的开源工具&#xff0c;文档类型定义(DTD)是一种文档类型定义语言,它用于定义XML文档中所包含的元素以及元素之间的关系。 Apache Ivy 2.5.2之前版本中&#xff0c;当解析自身配置、Ivy 文件或 Apache Maven 的 POM 文件…

Yolov5/Yolov7损失函数改进:SlideLoss,解决简单样本和困难样本之间的不平衡问题

💡💡💡本文改进:SlideLoss,解决简单样本和困难样本之间的不平衡问题,并使用有效感受野的信息来设计Anchor。 SlideLoss| 亲测在多个数据集能够实现涨点,对小目标、遮挡物性能提升也能够助力涨点。 💡💡💡Yolov5/Yolov7魔术师,独家首发创新(原创),适用于…