搜索

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

download PDF

下表列出了与 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

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

根据您希望队列包含以稳定状态包含的数据量,您应该调整此数量的文件以匹配预期的数据总量。

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.