Rabbitmq配置调优

news2024/10/6 12:27:18

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 = 5672
 
num_acceptors.tcp = 20
 
handshake_timeout = 10000
 
vm_memory_high_watermark.relative = 0.4
# vm_memory_high_watermark.absolute = 6GB
 
 
vm_memory_calculation_strategy = rss
 
vm_memory_high_watermark_paging_ratio = 0.5
 
disk_free_limit.absolute = 10GB
 
 
frame_max = 131072
 
initial_frame_max = 4096
 
channel_max = 2047
 
heartbeat = 60
 
default_vhost = /
 
hipe_compile = true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/916475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电气器件系列四十二:线性直流稳压电源

线性稳压电源是比较早使用的一类直流稳压电源。根据调整管的工作状态&#xff0c;我们常把稳压电源分成两类&#xff1a;线性稳压电源和开关稳压电源。线性稳压直流电源的特点是&#xff1a;输出电压比输入电压低&#xff1b;反应速度快&#xff0c;输出纹波较小&#xff1b;工…

ast在python架构中的使用

AST学习 AST简介&#xff1a; AST(Abstract syntac tree)是编译原理中的概念&#xff0c;是对源代码语法结构的一种抽象表示&#xff0c;它以树的形式表现编程语言的语法结构&#xff0c;树上的每个节点都表示源代码中的一种结构。 下面的代码展示了以demo.py中的ast语法&…

实景无人直播小白如何操作?抖音/直播带货/实况

在当今数字娱乐领域实景无人直播系统成为了一种备受关注的娱乐方式。这种系统能够将真实场景以实时视频的形式传输到用户终端&#xff0c;让用户可以身临其境地观赏各种精彩的场景。本文将深入探讨实景无人直播系统的操作指南&#xff0c;旨在为读者提供专业性、思考深度和逻辑…

简单版的数组实现哈希表

package com.wei.mybatisflex;import java.util.ArrayList; import java.util.List;/*** 用数组实现哈希表*/ public class ArrayToHash {/*** 键值对定义*/class Pair{private int key;private String val;public Pair(int key, String val) {this.key key;this.val val;}}p…

java八股文面试[数据结构]——HashMap和HashTable区别

HashMap源码中的重要常量 DEFAULT_INITIAL_CAPACITY: HashMap的默认容量&#xff0c;16 MAXIMUM_CAPACITY&#xff1a; HashMap的最大支持容量&#xff0c;2^30 TREEIFY_THRESHOLD&#xff1a;Bucket中链表长度大于该默认值&#xff0c;转化为红黑树。 UNTREEIFY_THRESHOLD…

无涯教程-PHP - 返回类型声明

在PHP 7中&#xff0c;引入了一个新函数返回类型声明&#xff0c;返回类型声明指定函数应返回的值的类型&#xff0c;可以声明返回类型的以下类型。 intfloatbooleanstringinterfacesarraycallable 有效返回类型 <?phpdeclare(strict_types1);function returnIntValue(i…

Java课题笔记~Element UI

Element&#xff1a;是饿了么公司前端开发团队提供的一套基于 Vue 的网站组件库&#xff0c;用于快速构建网页。 Element 提供了很多组件&#xff08;组成网页的部件&#xff09;供我们使用。例如 超链接、按钮、图片、表格等等~ 如下图左边的是我们编写页面看到的按钮&#…

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

MyScale 是一款完全托管于亚马逊云科技、支持 SQL 的高效向量数据库。MyScale 的优势在于&#xff0c;它在提供与专用向量数据库相匹敌甚至优于的性能的同时&#xff0c;还支持完整的 SQL 语法。在这篇文章中&#xff0c;我们将阐述 MyScale 是如何借助亚马逊云科技的基础设施&…

攻防世界-simple_js

原题 解题思路 js就看源代码&#xff0c;pass是数字&#xff0c;下面还有一串十六进制的编码。 进制转换就是&#xff0c;也是一串数字&#xff0c;那把这两串数字都拿去转ASCII码。 s1 [55,56,54,79,115,69,114,116,107,49,50] s2 [70,65,85,88,32,80,65,83,83,87,79,82,68…

Linux TCP编程流程

一、TCP编程流程 TCP 提供的是面向连接的、可靠的、字节流服务。TCP的服务器端和客户端编程流程如下&#xff1a; 1.socket()方法 用来创建一个套接字&#xff0c;有了套接字就可以通过网络进行数据的收发。这也是为什么进行网络通信的程序首先要创建一个套接字。创建套接字时…

SqlServer2019—解决SQL Server 无法连接127.0.0.1的问题

1、打开SQL Server 2019配置管理器 2、SQL Servere 网络配置(启用 Named Pipes 和 TCP/IP) 3、修改TCP/IP协议(右键选择属性—IP地址)&#xff0c;具体如下图所示&#xff1a; 4、重启SQL Server服务

QT通过ODBC连接GBase 8s数据库(Windows)示例

示例环境&#xff1a; 操作系统&#xff1a;Windows 10 64位数据库及CSDK版本&#xff1a;GBase 8s V8.8_3.0.0_1 64位QT&#xff1a;5.12.0 64位 1&#xff0c;CSDK安装及ODBC配置 1.1&#xff0c;免安装版CSDK 下载免安装版的CSDK驱动&#xff0c;地址&#xff1a;https:…

盛最多水的容器——力扣11

int maxArea(vector<int>& height) {int l=0, r=height.size()

企业如何通过CRM系统获得更多商机?

商机是销售的基础&#xff0c;如何获取更多的商机&#xff0c;是每个企业都关心的问题。通过传统的营销方式来吸引潜在客户&#xff0c;往往成本高、效果低、难以管理。那么有没有一种方式&#xff0c;既节省时间和成本&#xff0c;又可以获取更多商机&#xff1f;当然有&#…

AUTOSAR配置与实践(配置篇) 如何条件控制PDU外发

AUTOSAR配置与实践(配置篇)如何条件控制PDU外发 一、需求1.1 需求简要分析1.2 需求进一步分析二、流程实现和具体配置一、需求 需要针对特定的PDU(外发)进行条件控制,这里要通过不同配置字进行PDU是否外发的控制 1.1 需求简要分析 正常PDU分组时分为两组,接收报文组和…

Javase(中)

一、面向对象进阶 1、static&#xff08;静态是共享的&#xff09; 静态变量 特点&#xff1a;修饰的成员变量被该类的所有对象共享 静态方法 静态方法只能调用静态的东西&#xff0c;非静态方法可以调用所有 static 的注意事项 static的内存图 重识main方法 2、工具类、测…

23.8.11.用apifox端口号与java接口链接的时候少了个/导致连接不成功。

用apifox端口号与java接口链接的时候少了个/导致连接不成功。 原因分析&#xff0c;因为拼接的位置少了个/ 如图所示

电工-三相异步电动机启动电流很大的原因与不利影响

电工-三相异步电动机启动电流很大的原因与不利影响 所谓电动机的启动是指电动机从接入电源开始转动起&#xff0c;到达到额定转速为止的这一过程。 根据理论分析和实际测定&#xff0c;异步电动机启动瞬间&#xff1b;定子绕组启动电流很大&#xff0c;可达额定值的4~7倍。为什…

家庭智慧管控中心——酷开系统全时AI

智能家居入口在哪&#xff1f; 或许你家已经有了&#xff01;举个例子&#xff0c;智能电视就是其中的一种&#xff01;智能家电的变革进度逐渐加深&#xff0c;人们对于智慧生活的需求也逐渐提高。伴随着人工智能、物联网、大数据等信息技术的发展&#xff0c;家电产品的智能化…

Camunda 7.x 系列【23】身份服务 IdentityService

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 相关表3. IdentityService1. 概述 在之前我们演示了一个简单的请假流程,接下来…