我的broker.xml
是:
<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
<core xmlns="urn:activemq:core">
<ha-policy>
<replication>
<master>
<group-name>master</group-name>
<check-for-live-server>true</check-for-live-server>
</master>
</replication>
</ha-policy>
<global-max-size>-1</global-max-size>
<bindings-directory>/opt/broker/broker-data/bindings</bindings-directory>
<journal-directory>/opt/broker/broker-data/journal</journal-directory>
<large-messages-directory>/opt/broker/broker-data/largemessages</large-messages-directory>
<paging-directory>/opt/broker-data/paging</paging-directory>
<journal-min-files>25</journal-min-files>
<journal-type>ASYNCIO</journal-type>
<journal-max-io>5000</journal-max-io>
<journal-sync-transactional>false</journal-sync-transactional>
<journal-sync-non-transactional>false</journal-sync-non-transactional>
<journal-buffer-timeout>750000</journal-buffer-timeout>
<connectors>
<connector name="netty-connector">tcp://node1:61616?tcpSendBufferSize=307200;tcpReceiveBufferSize=307200;writeBufferHighWaterMark=1228800;useEpoll=true;useNio=true</connector>
</connectors>
<acceptors>
<acceptor name="netty-acceptor">tcp://node1:61616?tcpSendBufferSize=307200;tcpReceiveBufferSize=307200;writeBufferHighWaterMark=1228800;useEpoll=true;useNio=true</acceptor>
</acceptors>
<broadcast-groups>
<broadcast-group name="my-broadcast-group">
<group-address>${udp-address:231.7.7.7}</group-address>
<group-port>9875</group-port>
<broadcast-period>100</broadcast-period>
<connector-ref>netty-connector</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="my-discovery-group">
<group-address>${udp-address:231.7.7.7}</group-address>
<group-port>9875</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster">
<connector-ref>netty-connector</connector-ref>
<connection-ttl>130000</connection-ttl>
<call-timeout>120000</call-timeout>
<retry-interval>500</retry-interval>
<use-duplicate-detection>true</use-duplicate-detection>
<message-load-balancing>ON_DEMAND</message-load-balancing>
<max-hops>1</max-hops>
<discovery-group-ref discovery-group-name="my-discovery-group"/>
</cluster-connection>
</cluster-connections>
<security-settings>
<security-setting match="#">
<permission type="createNonDurableQueue" roles="amq"/>
<permission type="deleteNonDurableQueue" roles="amq"/>
<permission type="createDurableQueue" roles="amq"/>
<permission type="deleteDurableQueue" roles="amq"/>
<permission type="createAddress" roles="amq"/>
<permission type="deleteAddress" roles="amq"/>
<permission type="consume" roles="amq"/>
<permission type="browse" roles="amq"/>
<permission type="send" roles="amq"/>
<permission type="manage" roles="amq"/>
</security-setting>
</security-settings>
<address-settings>
<address-setting match="activemq.management#">
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>-1</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
<auto-create-queues>true</auto-create-queues>
<auto-create-addresses>true</auto-create-addresses>
<auto-create-jms-queues>true</auto-create-jms-queues>
<auto-create-jms-topics>true</auto-create-jms-topics>
</address-setting>
<address-setting match="#">
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<!-- with -1 only the global-max-size is in use for limiting -->
<max-size-bytes>-1</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
<auto-create-queues>true</auto-create-queues>
<auto-create-addresses>true</auto-create-addresses>
<auto-create-jms-queues>true</auto-create-jms-queues>
<auto-create-jms-topics>true</auto-create-jms-topics>
<auto-delete-addresses>false</auto-delete-addresses>
</address-setting>
</address-settings>
<!-- address section -->
</core>
</configuration>
编辑:最关键的问题是,一旦分页启动,broker将无法恢复到原来的性能,即使大部分消息都被消耗掉了。
考虑到分页消息需要与持久消息类似地同步到磁盘,控制刷新频率的参数是page-sync-timeout
。如果没有设置值,则使用默认值(请参见文档以了解该设置的用途)。
通过查看journal-buffer-timeout
(假设设置正确),您的磁盘似乎相当慢,因此预计分页消息不会很好地执行,因为磁盘没有足够的IOPS。我将首先检查磁盘随机写入的预期IOPS是多少,并相应地设置page-sync-timeout
(1/IOPS,单位为纳秒),但如果磁盘速度不够快,则不要期望任何改进。
另外注意:如果您不关心电源故障耐久性,您仍然可以禁用journal-datasync
,并且它应该允许任何磁盘写入能够幸存下来,只是为了处理故障(即没有电源故障保证)。如果您正在使用无共享复制,这应该是可以的,因为备份能够在失败的情况下发挥作用。
在代理切换到分页模式后,我看到性能出现了奇怪的下降。一些消息开始花很长时间: 1800 我还看到了大量磁盘使用情况: 我的: Linux Astra、4 CPU 24GB ram 50GB SSD、ActiveMQ Artemis 2.7.0 只有代理重启有帮助
在Kotlin中,如果变量在应用程序启动时为,并且在创建后不能再次赋值为,那么有什么方法可以对其进行注释吗? 我不能将field设置为例如,因为它可以在某个时候被置为空,或者,因为它在使用之前被初始化(或者这可能是解决我的情况的正确方法?)。
好吧,这很烦人,我真的不知道该怎么解决,所以事情是这样的。 获得了一个返回分页数据的应用程序,如下所示: 检索结果需要花费很长时间。 但是,如果我调用like(使用上面安装的相同可分页对象): 并且存储库上有: 而且,结果马上就会出现。 我假设,对于第一种永远需要的情况,Spring首先检索所有数据(不限制行),然后返回一个带有结果数量信息的页面。 不知道是否与注释有关。 我使用的是2.3.0。顺
本文向大家介绍jQuery从零开始做一个分页组件功能示例,包括了jQuery从零开始做一个分页组件功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery从零开始做一个分页组件功能。分享给大家供大家参考,具体如下: 开始一个组件,毫无目的的写代码是一个不好的习惯,要经历 分析 => 抽象 => 实现 => 应用 四个阶段。 组件DEMO地址:https://github.com
为了学习wordpress的开发,我正在从头开始构建一个wordpress主题。现在我想在我的类别页面上添加分页,但问题是:当我单击older-post-link时,url从“http://localhost/WordPress4/category/Bloc1/page/2/”变为“http://localhost/WordPress4/category/Bloc1/page/2/”,但它将我带到
对于大多数网站(尤其是博客),当文章越来越多的时候,就会有分页显示文章列表的需求。Jekyll 已经自建分页功能,你只需要根据约定放置文件即可。 在 Jekyll 3 中,需要在 gems 中安装 jekyll-paginate 插件,并添加到你的 Gemfile 和 _config.yml 中。在 Jekyll 2 中,分页是标准功能。 分页功能只支持 HTML 文件 Jekyll 的分页功能不