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


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

表 E.1. 日志配置元素
名称描述

journal-directory

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

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

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

create-journal-dir

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

journal-type

有效值为 NIOASYNCIO

如果设置为 NIO,代理将使用 Java NIO 接口到 itsjournal。设置为 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 的 flush 率,因此系统为 NIO 和 AIO 维护不同的默认值。

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

注意

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

journal-buffer-size

AIO 中 timed 缓冲的大小。默认值为 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.