控制消息传递引擎使用的内存缓冲区
每个消息传递引擎都管理两个内存缓冲区,这两个内存缓冲区包含消息以及与消息相关的数据。您可以调整用于设置这两个缓冲区大小的属性来改进消息传递引擎与其数据存储器的交互。
关于此任务
- sib.msgstore.discardableDataBufferSize
- 消息传递引擎用于包含数据的数据缓冲区的大小(以字节计),此数据的服务质量属性为“最大努力非持久”。缺省值为 320000,即大约 320 千字节。
- 可废弃数据缓冲区包含所有具有服务质量属性“最大努力非持久”的数据。该数据既包括有关活动事务的数据,也包括消息传递引擎既未废弃也未使用的任何其他最大努力非持久数据。消息传递引擎将此数据完全存放在此内存缓冲区中,并且从不将此数据写至数据存储器。消息传递引擎将数据添加到可废弃的数据缓冲区时,例如,当消息传递引擎从客户机接收到最大努力非持久消息时,消息传递引擎可能会废弃缓冲区中已包含的数据以便腾出空间。消息传递引擎只能废弃与活动事务无关的数据。此行为使消息传递引擎能够废弃最大努力非持久消息。
- 增加可废弃数据缓冲区的大小允许在消息传递引擎开始废弃消息之前处理更多最大努力非持久数据。
- sib.msgstore.cachedDataBufferSize
- 消息传递引擎用于包含数据的数据缓冲区的大小(以字节计),此数据的服务质量属性优于最大努力非持久,并且存放在数据存储器中。缺省值为 320000,即大约 320 千字节。
- 高速缓存数据缓冲区的用途是通过将消息传递引擎本来必须从数据存储器中读取的数据高速缓存在内存中来提高消息传递引擎的性能。当它将数据写至数据存储器以及从数据存储器中读取数据时,消息传递引擎会尝试将该数据添加到高速缓存数据缓冲区。消息传递引擎可能会废弃缓冲区中已包含的数据以便腾出空间。
- sib.msgstore.transactionSendLimit
- 消息传递引擎在每个事务中包括的最大操作数。例如,每一项 JMS 发送或接收操作都会使计数更加接近于事务发送限制。缺省值为 100。
注意: 消息传递引擎使用近似计算来管理它在内存缓冲区中存放的数据。没有任何一个
DataBufferSize 属性准确地指示了消息传递引擎在
JVM 堆中使用的内存容量。消息传递引擎使用的堆存储器容量可能比
DataBufferSize 属性指示的值多得多。
要设置消息传递引擎的属性以改进它与其数据存储器的交互,请使用管理控制台来完成以下步骤:
过程
- 在导航窗格中,单击 。
- 输入要设置的属性的名称。
- 输入要为该属性设置的值。
- 单击确定。
- 将更改保存至主配置。
下一步做什么
切记: 更改这些属性的任何一个后,新的值在消息传递引擎重新启动前不会生效。