activemq 内存_ActiveMQ中的温度,存储和内存使用百分比

activemq 内存

为了有效使用ActiveMQ,了解ActiveMQ如何管理内存和磁盘资源以处理非持久性消息和持久性消息非常重要。

ActiveMQ具有三个关键参数,需要对其进行检查。

参数

  1. 临时使用百分比
    1. 这是已用于假脱机非持久消息的已分配磁盘存储的百分比
    2. 非持久性消息是无法在代理重新启动后幸存的消息
  2. 店铺使用率
    1. 这是已用于存储持久性消息的已分配磁盘空间的百分比
  3. 内存使用率
    1. 这是已用于跟踪目标,高速缓存消息等的代理分配内存的百分比。此值必须小于-Xmx(最大JVM堆大小)

本博客试图阐明如何计算单个节点ActiveMQ代理实例的存储,温度和内存使用率。 我们使用ActiveMQ版本5.8.0进行此说明。

一旦清楚了ActiveMQ如何操作这些值,便可以使用关键配置设置对ActiveMQ进行微调,以处理以下用例。

  1. 大量目的地(队列/主题)
    • 可以根据需要创建/删除目的地
  2. 消费缓慢
    • 当消费者无法跟上消息的生成速度时,这是一个巨大的问题。
  3. 讯息爆发
    • 在短时间内Swift涌入大量具有巨大有效负载大小的消息
  4. 资源利用不当
    • 很少有目的地消耗资源而导致其他人挨饿

扩展策略

如果您想知道如何水平调整ActiveMQ,请参考Bosanac Dejan创建的幻灯片。 你可以在这里找到

它包含不同的ActiveMQ拓扑,除了调整ActiveMQ的各种参数外,还可以有效地用于满足批量吞吐量。 我发现它非常有用。

让我们继续深入……

以下XML代码段来自配置activemq.xml。 为memoryUsage,storeUsage和tempUsage指定的值仅用于讨论目的。

<systemUsage><systemUsage><memoryUsage><memoryUsage limit="256 mb"/></memoryUsage><storeUsage><storeUsage limit="512 mb"/></storeUsage><tempUsage><tempUsage limit="256 mb"/></tempUsage></systemUsage></systemUsage>
  1. 内存使用情况
    1. 代理可使用256MB的JVM内存。 不要与-Xmx参数混淆。
  2. 店铺使用情况:
    1. 这是持久消息使用的磁盘空间(使用KahaDB)
  3. 临时用法:
    1. 假设我们使用默认的KahaDB,这是非持久消息使用的磁盘空间。 ActiveMQ将非持久消息假脱机到磁盘,以防止代理用尽内存

了解临时用法

代理可用性对于消息基础结构至关重要。 因此, 生产者流控制是一种保护机制,可以防止失控的生产者在没有使用者或使用者无法跟上将消息产生到目的地的速率时将非持久性消息泵入目的地。 。

让我们以在本地代理实例中将有效负载大小为1MB的非持久消息生成为目标“ foo.bar”为例。

C:\apache-activemq-5.8.0\example>ant producer -Durl=tcp://localhost:61616 -Dtopic=false -Dsubject=foo.bar -Ddurable=false -DmessageSize=1048576

生产者最终因温度%使用率达到100%而挂起

temp-100
由于消息是非持久性的,因此将它们存储在磁盘上的tmp_storage中

temp_storage
ActiveMQ提供了一种机制来调整每个目标的内存使用情况。 在这里,我们对启用了生产者流控制且目标内存限制为100MB的所有队列有一个通用策略(同样,这仅用于说明目的)。

<policyEntry queue=">" optimizedDispatch="true" producerFlowControl="true" cursorMemoryHighWaterMark="30" memoryLimit="100 mb" >

临时使用率计算如下:

(tmp_storage文件夹的大小/临时使​​用的内存限制)* 100

因此,在我们的情况下:

265,025,856 /(256 * 1024 * 1024)* 100 = 99.8〜100%,如经纪人控制台中所示。

以下日志消息显示在activemq.log中

INFO | Usage(default:temp:queue://foo.bar:temp) percentUsage=99%, usage=268535808, limit=268435456, percentUsageMinDelta=1%;Parent:Usage(default:temp
) percentUsage=100%, usage=268535808, limit=268435456, percentUsageMinDelta=1%: Temp Store is Full (99% of 268435456). Stopping producer (ID:AKUNTAMU-
1-61270-1388528939599-1:1:1:1) to prevent flooding queue://foo.bar. See http://activemq.apache.org/producer-flow-control.html for more info (blockingfor: 1421s)

让我们再举一个例子……

请考虑以下系统使用情况配置。 我们将tempUsage减少到50MB,同时保留了相同的目的地级别策略。

<systemUsage><systemUsage><memoryUsage><memoryUsage limit="256 mb"/></memoryUsage><storeUsage><storeUsage limit="512 mb"/></storeUsage><tempUsage><tempUsage limit="50 mb"/></tempUsage></systemUsage></systemUsage>

在这种情况下,我们发现临时用量激增至191%

temp-191

temp_storage停止增长到接近96MB,并且生产者挂起。

temp_storage-191

临时使用率是191%,因为(95.5MB / 50 MB)* 100,其中95.5 MB是文件夹的大小,而50MB是临时使用的限制。

目标的限制为100MB,因此temp_storage不会超过目标。 造成这种混淆的原因是,临时使用限制小于每个目标内存限制。

店铺使用情况

让我们对持久消息重复相同的测试。

系统使用情况配置如下:

<systemUsage><systemUsage><memoryUsage><memoryUsage limit="256 mb"/></memoryUsage><storeUsage><storeUsage limit="512 mb"/></storeUsage><tempUsage><tempUsage limit="256 mb"/></tempUsage></systemUsage></systemUsage>

每个目标策略如下:

<policyEntry queue=">" optimizedDispatch="true" producerFlowControl="true" cursorMemoryHighWaterMark="30" memoryLimit="100 mb" >

让我们将1MB持久消息生成到名为“ foo.bar”的队列中

C:\apache-activemq-5.8.0\example>ant producer -Durl=tcp://localhost:61616 -Dtopic=false -Dsubject=foo.bar -Ddurable=true -DmessageSize=1048576

生产者在512条消息后挂起

以下日志语句出现在代理日志文件中

INFO | Usage(default:store:queue://foo.bar:store) percentUsage=99%, usage=537210471, limit=536870912, percentUsageMinDelta=1%;Parent:Usage(default:st
ore) percentUsage=100%, usage=537210471, limit=536870912,percentUsageMinDelta=1%: Persistent store is Full, 100% of 536870912. Stopping producer (ID: AKUNTAMU-1-31754-1388571228628-1:1:1:1) to prevent flooding queue://foo.bar. See http://activemq.apache.org/producer-flow-control.html for more info (
blocking for: 155s)

经纪人商店的使用率为100%,如下所示。

商店100

由于消息是持久性的,因此需要将它们保存到文件系统中。 商店使用限制为512MB。

存储磁盘100

上面的屏幕快照显示了kahadb文件夹,其中持久消息为543 MB(消息和其他数据库相关文件为512MB)

内存使用情况

在上面的示例中,内存使用百分比为11。

根据目标策略,每个目标分配的内存为100MB,cursorMemoryHighWaterMark
指定为30。因此100MB的30%为30MB。 因此,除了将其存储在KahaDB中之外,还使用30MB将消息存储在内存中以加快处理速度。 。

内存使用限制配置为256MB。 所以30MB是256的11%

(30/256)* 100〜11%

因此,如果要有9个这样的队列发生类似的情况,那么我们将耗尽11%* 9 = 99%〜100%的代理内存使用量

内存使用率是代理用于存储消息的内存量。 很多时候,这可能会成为瓶颈,因为一旦这个空间已满,经纪人将使生产者停滞不前。 在快速处理和有效的内存管理之间需要权衡取舍。

如果我们在内存中保留更多消息,则处理速度更快。 但是,内存消耗将非常高。 相反,如果消息保留在磁盘上,则处理将变慢。

结论

我们在此博客中看到了ActiveMQ中存储,临时和内存使用情况的工作方式。 无法为每个目标配置存储和临时使用的百分比,而内存使用的百分比则可能是因为cursorMemoryHighWaterMark。
希望您发现此信息有用。 此处给出的示例仅用于说明目的,并不意味着可以投入生产。 您将需要进行适当的容量规划,并确定代理拓扑以实现最佳配置。 如有任何意见,请随时与我们联系!

资源资源

  • http://blog.raulkr.net/2012/08/demystifying-producer-flow-control-and.html
  • http://tmielke.blogspot.com/2011/02/observations-on-activemqs-temp-storage.html
  • http://activemq.apache.org/javalangoutofmemory.html
  • http://www.slideshare.net/dejanb/advanced-messaging-with-apache-activemq -Bosanac Dejan
  • http://www.pepperdust.org/?p=150
  • http://stackoverflow.com/questions/2361541/how-do-you-scale-your-activemq-vertical

翻译自: https://www.javacodegeeks.com/2014/04/temp-store-and-memory-percent-usage-in-activemq.html

activemq 内存

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

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

相关文章

视频光端机选型及常见品牌

从发送到光纤上的信号来分&#xff0c;视频光端机可分为基于模拟技术的模拟光端机和基于数字技术的数字光端机&#xff0c;模拟光端机其工作原理不外乎调制解调、滤波和信号混合等。不论是LED还是LD&#xff0c;其光电调制特性都不是线性的&#xff0c;在信号传输过程中难免出现…

视频光端机音频出现噪音是为何?

视频光端机可以说是在安防监控领域中应用非常的广泛了&#xff0c;但是&#xff0c;当我们在使用视频光端机的时候&#xff0c;有时候会遇到音频出现噪音的故障&#xff0c;那么这是何种原因导致的呢&#xff1f;接下来我们就跟随飞畅科技的小编一起来详细了解下吧&#xff01;…

视频光端机在安防监控工程中的常见技术问题

视频光端机的技术无论是在国外还是国内都已经渐渐成熟&#xff0c;在不断改进和升级后&#xff0c;其寿命也在大大增加&#xff0c;但电子产品除了本身问题之外&#xff0c;也很容易受到外部环境或者人为操作的影响&#xff0c;下面我们就来介绍下视频光端机在安防监控工程中的…

[渝粤教育] 武汉理工大学 数据机构 参考 资料

教育 -数据机构-章节资料考试资料-武汉理工大学【】 线性表算法练习 算法复杂度计算测验 1、【单选题】以下算法的时间复杂度为void fun(int n) { int il; while(in) ii2; } A、O(n) B、O(n^2) C、 O(nlog2n) D、 O(log2n) 参考资料【 】 2、【单选题】设n是描述问题规模的非负…

视频光端机怎么连接 视频光端机接法图解

视频光端机可以说是在监控领域应用非常的广泛&#xff0c;那么&#xff0c;我们在使用的过程中该如何连接呢&#xff0c;在连接过程中需要注意哪些事项呢&#xff1f;接下来就由杭州飞畅的小编来为大家详细介绍下视频光端机的连接方法和一些注意事项吧&#xff01; 视频光端机…

具有PreAuthorize的Spring方法安全性

朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户&#xff1f; 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证&#xff0c;管理和保护。 本教程将探讨使用Spring Security在Spring Boot中配置身份验证和授权的两种方法。 一种方法是…

数字音频光端机的工作原理及其应用介绍

数字音频光端机在通信系统中可以说是应用非常广泛&#xff0c;特别是在安防系统、智能交通监控系统、远程多媒体教学、校园监控、长距离广播电视传输系统、楼宇控制系统等&#xff0c;可以说我们的日常通讯是离不开音频光端机的。接下来就由飞畅科技为大家详细介绍下数字音频光…

[渝粤教育] 湘潭大学 土力学 参考 资料

教育 -土力学-章节资料考试资料-湘潭大学【】 1-1 土的形成随堂测验 1、【单选题】长江三角洲位于从长江入海口&#xff0c;该地的土主要为&#xff08; &#xff09;。 A、坡积土 B、冲积土 C、风积土 D、冰碛土 参考资料【 】 2、【填空题】岩石的风化可分为物理风化和 。 A、…

网络光端机产品特点及实际应用范围详解

在远程光纤传输中&#xff0c;光缆对信号的传输影响很小&#xff0c;光纤传输系统的传输质量主要取决于光端机的质量&#xff0c;因为光端机负责光电转换以及光发射和光接收&#xff0c;它的优劣直接影响整个系统&#xff0c;所以就需要众多新用户或对此有意向的用户对光端机的…

[渝粤教育] 盐城工学院 水处理微生物学 参考 资料

教育 -水处理微生物学-章节资料考试资料-盐城工学院【】 第1章 绪论-单元作业 第2章 微生物的纯培养和显微技术-单元作业1 第2章 微生物的纯培养和显微技术-单元作业2 第1章第2章-单元测验1 1、【单选题】最关键、最本质的微生物特点是&#xff08; &#xff09;。 A、体积小、…

几种常见光端机的作用介绍

可能很多人对于光端机这种设备比较陌生&#xff0c;有些就算是知道但也了解的不多&#xff0c;其实光端机就是一个延长数据传输的光纤通信设备&#xff0c;它通过信号调制、光电转化等技术&#xff0c;来达到远程传输的目的。今天&#xff0c;杭州飞畅的小编来告诉大家一些常见…

音频光端机的几个重要指标

音频光端机是一种音频设备&#xff0c;发射端把传统的音频模拟信号转换成光信号&#xff0c;通过光纤传输到接收端&#xff0c;在接收端再转换成模拟信号。今天&#xff0c;飞畅科技的小编就来为大家详细介绍下音频光端机的几个重要指标&#xff0c;感兴趣的朋友就一起来看看吧…

[渝粤教育] 西北大学 仪器分析 参考 资料

教育 -仪器分析-章节资料考试资料-西北大学【】 第一讲 光分析方法的基本概念单元测验题 1、【单选题】光谱分析法是一种&#xff08; &#xff09;来确定物质的组成和结构的仪器分析方法。 A、利用物质与光相互作用的信息 B、利用光的波动性 C、利用光的粒子性 D、利用物质的折…

音频光端机的选择

音频光端机就是发射端把传统的音频模拟信号转换成光信号&#xff0c;通过光纤传输到接收端&#xff0c;在接收端再转换成模拟信号的一种音频设备。用户在选择音频光端机的时候一般情况下是从它的相关参数和实用性方面来考虑&#xff0c;相关的技术参数在光端机出厂说明书中都有…

音频光端机简单故障处理

音频光端机是在通信系统中应用比较广泛的一种设备&#xff0c;目前在高速公路、交通、电子警察、监控、安防、工业自动化、电力、海关、水利、银行等领域&#xff0c;视频图像、音频、数据、以太网等光端机已开始普遍大量应用。但是&#xff0c;我们在使用音频光端机的过程中难…

q7goodies事例_Java 8 Friday Goodies:SQL ResultSet流

q7goodies事例在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个…

音频光端机与电话光端机区别

在网络安防工程中&#xff0c;我们应用的比较多有电话光端机和音频光端机&#xff0c;但是在工程应用中&#xff0c;我们所用到的音频光端机是不同于电话光端机的应用。那么&#xff0c;音频光端机与电话光端机具体有哪些区别呢&#xff1f;接下来就跟随飞畅科技的小编一起来详…

[渝粤教育] 南开大学 思辨式英文写作 参考 资料

教育 -思辨式英文写作-章节资料考试资料-南开大学【】 随堂小测&#xff1a;What are the characteristics of critical essays? 1、【多选题】Which of the following types of writing are critical essays? A、A movie review B、A news report C、An editorial D、A summ…

辨别光纤收发器优劣的方法介绍

提起光纤收发器&#xff0c;不得不说它的传输稳定与传输距离。但质量不好的光纤收发器&#xff0c;要受到各种各样的考验&#xff0c;那么&#xff0c;我们该怎么区别出质量不好的光纤收发器呢&#xff1f;今天&#xff0c;飞畅科技的小编就来为大家详细介绍下辨别光纤收发器优…

一文解读光纤收发器单模和多模的区别!

光纤收发器是进行光电信号转换的设备&#xff0c;现在光纤收发器的技术越发成熟&#xff0c;应用也越来越广泛&#xff0c;所以我们在选择或者采购光纤收发器时&#xff0c;对光纤收发器做一定的了解是有好处的&#xff0c;接下来我们就来给大家详细介绍一下光纤收发器的单模和…