11.3. 消息绑定
JGroups 中的消息捆绑通过将多个小消息捆绑到更大的捆绑包中来提高网络性能。相反,消息会排队,直到达到最大捆绑包大小或没有要发送的消息为止,而不是通过网络发送很多小消息。已排队的消息组合成一个更大的消息捆绑包,然后发送。
这种绑定降低了通信开销,特别是在网络通信开销较高的 TCP 环境中。
配置消息捆绑
JGroups 消息捆绑通过 max_bundle_size
属性进行配置。默认的 max_bundle_size
是 64KB。
调整捆绑包大小的性能改进取决于您的环境,以及是否与捆绑包组装时通信的延迟保持平衡。
使用以下管理 CLI 命令配置 max_bundle_size
:
/subsystem=jgroups/stack=STACK_NAME/transport=TRANSPORT_TYPE/property=max_bundle_size:add(value=BUNDLE_SIZE)
/subsystem=jgroups/stack=STACK_NAME/transport=TRANSPORT_TYPE/property=max_bundle_size:add(value=BUNDLE_SIZE)
例如,将 default udp
堆栈的 max_bundle_size
设置为 60K
:
/subsystem=jgroups/stack=udp/transport=UDP/property=max_bundle_size:add(value=60K)
/subsystem=jgroups/stack=udp/transport=UDP/property=max_bundle_size:add(value=60K)