2011-09-28 72 views
4

我有两台JGroups正在运行的机器。我面临的问题是,一旦在其中一台机器上创建了实例,几秒钟后,我就启动其他实例。他们两人分别启动(相同群集),即他们不加入群集在一起。 10到15秒后,他们都通信并连接在一起。JGroups实例通信

这种延迟与我的业务代码造成的问题... 还有同时挑动计划

抛出一个警告

警告:发送套接字[email protected]的缓冲区设置为640KB ,但操作系统只分配了135.17KB。这可能会导致性能问题。请将您的最大的OS发送缓冲区正确(如net.core.wmem_max在Linux上)

做到这一点有一些事情做的问题?

回答

1

的警告是不相关的你的问题,这只能导致性能问题,因为操作系统缓冲区是小你多播缓冲区。

关于你的问题:检查你的日志为所有的JGroups消息(不仅警告),并检查他们的计时。并发布您的群集配置。

1

编辑通过改变这个值(net.core.wmem_max)到/etc/sysctl.conf并运行“的sysctl -p”

3

你绝对会需要增加这些值 - 否则单播 是几乎不可用。

如果你不熟悉怎么做,修改的/etc/sysctl.conf 文件。这些是我在我节点上的价值观。

JGroups的UDP配置

net.core.rmem_max = 25480000

net.core.wmem_max = 25480000

要重新装载这些值,发出 “的sysctl -p” 为根强制重新加载此文件的 。

来源:http://comments.gmane.org/gmane.comp.java.javagroups.general/7922