19.5. 调整其他设置


参阅以下信息来获取有关改进性能的其他提示。

  • 使用异步发送确认。

    如果您需要发送非事务性,持久化消息,且不需要保证在调用 send ()时已达到服务器,请不要将它们设置为发送阻塞。反之,使用异步发送确认来获得在单独的流中返回的发送确认。但是,如果服务器崩溃,一些消息可能会丢失。

  • 使用 pre-acknowledge 模式。

    使用 pre-acknowledge 模式时,会在发送给客户端之前确认消息。这可减少有线上确认流量的数量。但是,如果客户端崩溃,如果客户端重新连接,则不会恢复消息。

  • 禁用安全性。

    通过将 security-enabled 参数设置为 false 来禁用安全性,会改进较小的性能。

  • 禁用持久性。

    您可以通过将 persistence-enabled 参数设置为 false 来关闭消息持久性。

  • 同步事务。

    journal-sync-transactional 参数设置为 false 在保留事务时提供更好的性能,但会牺牲一些失败事务丢失的情况。

  • 同步非事务处理。

    journal-sync-non-transactional 参数设置为 false 会在保留非事务时提供更好的性能,但会牺牲在失败时丢失持久消息的可能性。

  • 发送消息非阻塞。

    为避免在发送的每个消息中等待网络往返,如果您正在使用 Java 消息传递服务(JMS)和 Java 命名与目录接口(JNDI),请将 block-on-durable-send 参数设置为 false。或者,通过调用 setBlockOnDurableSend ()setBlockOnNonDurableSend () 方法直接在 服务器查找器 上设置它们。

  • 优化 consumer-window-size

    如果您有非常快的用户,您可以增加 consumer-window-size 参数的值,以有效地禁用消费者流控制。

  • 使用核心 API 而不是 JMS API。

    JMS 操作必须转换为核心操作,然后服务器可以处理它们,从而降低使用核心 API 的性能。使用核心 API 时,请尝试尽可能使用 SimpleString 的方法。SimpleString 与 java.lang.String 不同,在写入线前不需要复制。因此,如果您在调用之间重复使用 SimpleString 实例,您可以避免一些不必要的复制。请注意,核心 API 无法可移植到其他代理。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部