如何在ActiveMQ 上模拟一个"Full Queue"?
How to simulate a "Full Queue" on ActiveMQ?
我们最近在 ActiveMQ 运行 系统资源不足时在测试环境中遇到了一些问题。
如何在本地模拟这种情况以重现问题并测试可能的修复?
我设法通过更改 ActiveMQ 配置来模拟场景。
您可以在 ActiveMQ 的配置文件中设置可用的系统资源,您可以在 ActiveMQ 安装目录的 libexec/conf/activemq.xml
找到该文件。
例如,您可以更改默认值:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="70" />
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="50 gb"/>
</tempUsage>
</systemUsage>
</systemUsage>
改为小值:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="1" />
</memoryUsage>
<storeUsage>
<storeUsage limit="512 kb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="512 kb"/>
</tempUsage>
</systemUsage>
</systemUsage>
运行 或重新启动 ActiveMQ,它应该会很快填满。
ActiveMQ 文档中的更多信息:http://activemq.apache.org/producer-flow-control.html
我们最近在 ActiveMQ 运行 系统资源不足时在测试环境中遇到了一些问题。
如何在本地模拟这种情况以重现问题并测试可能的修复?
我设法通过更改 ActiveMQ 配置来模拟场景。
您可以在 ActiveMQ 的配置文件中设置可用的系统资源,您可以在 ActiveMQ 安装目录的 libexec/conf/activemq.xml
找到该文件。
例如,您可以更改默认值:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="70" />
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="50 gb"/>
</tempUsage>
</systemUsage>
</systemUsage>
改为小值:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="1" />
</memoryUsage>
<storeUsage>
<storeUsage limit="512 kb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="512 kb"/>
</tempUsage>
</systemUsage>
</systemUsage>
运行 或重新启动 ActiveMQ,它应该会很快填满。
ActiveMQ 文档中的更多信息:http://activemq.apache.org/producer-flow-control.html