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,一经查实,立即删除!

相关文章

[渝粤教育] 天津中德应用技术大学 素质修养与心理健康(刘萍) 参考 资料

教育 -素质修养与心理健康&#xff08;刘萍&#xff09;-章节资料考试资料-天津中德应用技术大学【】 单元测试 1、【单选题】21世纪新健康观包含&#xff08; &#xff09; A、身体良好、心理健康、社会适应和道德品质 B、身体良好、心理健康、社会适应 C、身体良好、心理健康…

[渝粤教育] 天津师范大学 创业起跑线 参考 资料

教育 -创业起跑线-章节资料考试资料-天津师范大学【】 随堂测验 1、【单选题】创业的本质是什么&#xff1f; A、追寻机会 B、创造价值 C、节约成本 D、利用资源 参考资料【 】 2、【多选题】价值创造的两个关键要素是&#xff08;&#xff09;。 A、融资方案 B、用户痛点 C、解…

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

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

[渝粤教育] 宁波财经学院 金融工程学 参考 资料

教育 -金融工程学-新-章节资料考试资料-宁波财经学院【】 1.1 随堂测试 1、【多选题】从交易层面来看&#xff0c;属于零和游戏的有&#xff1a; A、股票 B、期货 C、期权 D、互换 参考资料【 】 2、【判断题】远期合约出现的比期货合约早。 A、正确 B、错误 参考资料【 】 3、…

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

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

[渝粤教育] 山东大学 英语话中华 参考 资料

教育 -英语话中华-章节资料考试资料-山东大学【】 Unit 2 Assignment Unit 2 Quiz 1、【单选题】Which ceremony is held at the Confucius Temple in Qufu every year? A、Confucius Temple Ceremony. B、Confucius Memorial Ceremony. C、Confucius Anniversary Ceremony. D…

[渝粤教育] 山东财经大学 国际金融 参考 资料

教育 -国际金融-章节资料考试资料-山东财经大学【】 当前我国国际收支平衡表的依据是什么&#xff1f; 1、【填空题】当前我国国际收支平衡表的依据是什么&#xff1f; A、 参考资料【 】 国际收支平衡表内容 1、【单选题】将国际收支账户中官方储备剔除后的余额是( ) A、贸易收…

视频光端机的应用领域有哪些?

随着社会的高速发展&#xff0c;我们在平时工作之余&#xff0c;更加注重精神生活的享受&#xff0c;对于一些公共的娱乐地点需求比较的旺盛&#xff0c;但是由于这些公共的地点人员比较的多&#xff0c;比较的复杂&#xff0c;所以视频监控可以发挥重要的作用。经过多年的发展…

q7goodies事例_Java 8 Friday Goodies:轻松派本地缓存

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

[渝粤教育] 扬州工业职业技术学院 微言品语文 参考 资料

教育 -微言品语文-章节资料考试资料-扬州工业职业技术学院【】 随堂测验 1、【单选题】 明朝岳岱的诗歌《邗沟》中“隋皇昔日锦帆游&#xff0c;吴楚分疆是此沟。” “此沟”是指&#xff08; &#xff09; A、长江 B、黄河 C、湘江 D、古邗沟 参考资料【 】 2、【单选题】公元…

[渝粤教育] 无锡商业职业技术学院 团队管理 参考 资料

教育 -团队管理-章节资料考试资料-无锡商业职业技术学院【】 模块1 团队起源与发展随堂测验 1、【单选题】团队应该有一个既定的&#xff08;&#xff09;&#xff0c;为团队成员导航&#xff0c;知道要向何处去&#xff0c;没有&#xff08;&#xff09;这个团队就没有存在的价…

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

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

[渝粤教育] 武汉交通职业学院 现代物流管理概论 参考 资料

教育 -现代物流管理概论-章节资料考试资料-武汉交通职业学院【】 单元测验&#xff08;一&#xff09; 1、【单选题】物流系统的一般要素不包括&#xff08; &#xff09;要素 A、人的要素 B、物的要素 C、地点要素 D、资金要素 参考资料【 】 2、【单选题】物流对宏观经济的作…

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

教育 -数据机构-章节资料考试资料-武汉理工大学【】 线性表算法练习 算法复杂度计算测验 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; 视频光端机…

[渝粤教育] 武汉科技大学 创业基础(临班2106) 参考 资料

教育 -创业基础&#xff08;临班2106&#xff09;-章节资料考试资料-武汉科技大学【】 创业发生测试题 1、【单选题】创业的本质是什么&#xff1f;请填写一个关键词 A、盈利 B、机会 C、创新 D、资源 参考资料【 】 2、【单选题】创业精神的灵魂是什么&#xff1f;请填写一个关…

数字光端机基本介绍

数字光端机是一种通过数字电路控制光信号&#xff0c;使用类似于0、1代码来实现光通信的机器。广泛应用于光纤通信等领域。那么&#xff0c;对于数字光端机这块你到底了解多少呢&#xff1f;接下来我们就一起来详细了解下吧&#xff01; 数字光端机简介&#xff1a; 应用初期&…

[渝粤教育] 江西师范大学 创业社团功能与自我发展 参考 资料

教育 -创业社团功能与自我发展-章节资料考试资料-江西师范大学【】 第一章 单元测验 1、【单选题】我国社团发展可以分为&#xff08;&#xff09;个不同的发展阶段&#xff1f; A、4 B、5 C、6 D、7 参考资料【 】 2、【单选题】创业社团主要具备的四大功能分别是&#xff1a;…

[渝粤教育] 江西财经大学 税法 参考 资料

教育 -税法-章节资料考试资料-江西财经大学【】 测试题 1、【单选题】以下关于对税收概念的相关理解不正确的是&#xff08; &#xff09;。 A、税收是目前我国政府取得财政收入的最主要工具 B、国家征税依据的是财产权利 C、国家征税是为了满足社会公共需要 D、税收“三性”是…

具有PreAuthorize的Spring方法安全性

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