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


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

表 E.1. 地址设置元素
NameDescription

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-file

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

journal-max-io

控制任意时间上 IO 队列中的最大写入请求数。如果队列已满,则写入将阻止,直到空间被释放。

使用 NIO 时,这个值应该始终为 1。使用 AIO 时,默认值为 500。max 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-centage 是 实时数据,则将压缩日志数据。另请注意,在 日志中至少有 journal-compact-min-files 数据文件前,压缩才会开始。默认值为 30

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.