附录 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 接口作为其日志。设置为 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

在开始时代理预先创建的文件数量最少。只有不存在消息数据时,才会预先创建文件。

根据您期望队列包含不稳定状态的数据,您应该对文件数量进行调优,以匹配预期数据总量。

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 的冲刷率更高,因此系统维护 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-min-files 数据文件。默认值为 30

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.