第 36 章 其他调整选项
本节介绍 JBoss EAP 消息传递中可以调优的其他位置。
使用异步发送确认.
如果您需要发送非事务的持久化消息,且不需要保证它们已在
调用 send()
返回时到达服务器,请不要将它们设置为阻止发送。相反,应使用异步发送确认在单独的流中获取您的发送确认。但是,在服务器崩溃时,一些消息可能会丢失。使用
预确认模式
。使用
预确认模式
时,会在消息发送到客户端之前进行确认。这可减少线路上的确认流量量。但是,如果该客户端崩溃,如果客户端重新连接,则不会重新传送消息。禁用安全.
当您通过将
security-enabled
属性设置为 false 来禁用安全性时,性能会很小提高。禁用持久性。
您可以通过将
persistence-enabled
设置为false
来完全关闭消息持久性。轻松同步事务.
将
journal-sync-transactional
设置为false
可提供更好的事务持久性性能,牺牲了在故障时丢失事务的可能性。以非事务方式同步.
将
journal-sync-non-transactional
设置为false
可提供更好的非事务持久性能,但会牺牲在故障时丢失持久消息的可能性。发送消息非阻塞.
为避免等待发送的每一条消息的网络往返,
如果您
使用 JMS 和 JNDI,请调用 setBlockOnDurableSend
()和 setBlockOnNon-durableSend()方法,将 block-on-durable-send
和 block-on-dururable-send-send 和
setBlockOnNonDurableSend()方法
直接设置在ServerLocator
上。优化
consumer-window-size
。如果您的消费者速度非常快,您可以增大使用者
-窗口大小
以有效地禁用消费者流控制。使用核心 API 而不是 JMS API。
JMS 操作必须转换为核心操作,然后服务器才能处理它们,从而比您使用核心 API 时性能更低。使用核心 API 时,请尝试使用尽可能使用
SimpleString
的方法。SimpleString
与java.lang.String
不同,在写入到线路之前不需要复制;因此,如果您在调用之间重复使用SimpleString
实例,您可以避免一些不必要的复制。请注意,核心 API 无法移植到其他代理。