附录 E. 消息传递日志配置元素


下表列出了与 AMQ Broker 消息传递日志相关的所有配置元素。

表 E.1. 地址设置元素
Name描述

journal-directory

消息日志所在的目录。默认值为 BROKER_INSTANCE_DIR/data/journal

为了获得最佳性能,日志应位于其自己的物理卷上,以便最小化磁盘头移动。如果日志位于与其他可以写入其他文件(如绑定日志、数据库或事务协调器)共享的卷上,那么磁盘头可能会在这些文件间快速移动,从而大大降低性能。

在使用 SAN 时,应当为每个日志实例提供自己的 LUN(逻辑单元)。

create-journal-dir

如果设置为 true,则日志目录会在 journal-directory 中指定的位置(如果它尚不存在)上自动创建。默认值为 true

journal-type

有效值为 NIOASYNCIO

如果设置为 NIO,代理使用 Java NIO 接口到其日志。设置为 ASYNCIO,代理将使用 Linux 异步 IO 日志。如果您选择 ASYNCIO 但没有运行 Linux,或者您没有安装 libaio,则代理将检测到它,并自动回退到使用 NIO

journal-sync-transactional

如果设置为 true,代理会将所有事务数据刷新事务边界上的磁盘(即提交、准备和回滚)。默认值为 true

journal-sync-non-transactional

如果设置为 true,代理会在每次将非事务消息数据(发送和确认)刷新到磁盘。默认值为 true

journal-file-size

每个日志文件的大小(以字节为单位)。默认值为 10485760 字节 (10MiB)。

journal-min-files

启动时代理预先创建的文件的最小数量。只有不存在消息数据时预先创建文件。

根据您队列要包含的数据量处于 steady 状态,您应该调整这数量的文件以匹配预期的数据总量。

journal-pool-files

系统将根据需要创建任意数量的文件;但是,当回收文件时,它将缩小到 journal-pool-files

默认值为 -1,这意味着在创建后永远不会删除日志中的文件。但是,系统会无法无限地增加,因为您仍需要为可能无限期增长的目的地使用分页。

journal-max-io

控制一次可在 IO 队列中的最大写入请求数。如果队列已满,那么写入将阻止,直到空间释放为止。

在使用 NIO 时,此值应始终为 1。在使用 AIO 时,默认值为 500。最大 AIO 总数不能高于操作系统级别设置的值(/proc/sys/fs/aio-max-nr),通常是 65536。

journal-buffer-timeout

控制缓冲区何时刷新的超时时间。AIO 通常消耗比 NIO 较高的刷新率,因此系统为 NIO 和 AIO 维护不同的默认值。

NIO 的默认值为 3333333 纳秒,或每秒 300 次,AIO 的默认值为 50000 纳秒,或者 2000 秒。

注意

通过增加超时值,您可以将系统吞吐量提高延迟费用,因为选择默认值以在吞吐量和延迟之间达到合理的平衡。

journal-buffer-size

AIO 上时间缓冲区的大小。默认值为 490KiB

journal-compact-min-files

代理压缩日志前所需的文件数量最少。紧凑算法只有在您至少有一个 journal-compact-min-files 时才会启动。默认值为 10

注意

将值设为 0 将禁用紧凑,并可能具有危险,因为日志可能会无限期地增加。

journal-compact-percentage

开始紧凑的阈值。如果日志数据小于 journal-compact-percentage,则会压缩日志数据,以便获得实时数据。另请注意,在日志中至少有 journal-compact-min-files 数据文件后,压缩将无法启动。默认值为 30

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.