我计划使用或处理分布式缓存解决方案,我正在为此目的尝试infinispan热棒协议。它与其他缓存解决方案相比表现相当不错,但我觉得它在网络通信方面比预期更多。 我们有1000Mbps的以太网网络,客户端和服务器之间的往返时间约为200ms,但是从服务器到客户端传输大小为30 MB的对象时,infinispan热棒协议大约需要7秒。我觉得我需要做tcp调整以减少这个时间,有人可以建议我如何调整tcp以获得最佳性能?在谷歌搜索我发现send-buffer-size和receive -buffer-size在这种情况下可以提供帮助,但我不知道如何以及在何处设置这些属性。有人可以在这方面帮助我。 在这方面的任何帮助都非常感谢。
谢谢, 阿比纳夫
答案 0 :(得分:3)
默认情况下,Hot Rod客户端和服务器启用TCP-no-delay,这对小对象很有用。对于较大的对象,例如你的情况,你可能想要禁用它,以便客户端/服务器可以缓冲然后发送。对于客户端,在构造RemoteCacheManager时,尝试传递infinispan.client.hotrod.tcp_no_delay=false
,服务器也需要类似的配置选项。服务器的配置方式取决于您的Infinispan版本。如果使用最新的Infinispan 6.0.0版本,则必须转到standalone.xml文件并更改端点子系统配置,以便hotrod-connector
将tcp-nodelay
属性设置为false。发送/接收缓冲区仅在禁用TCP-no-delay时应用。这些也可以通过类似的方法进行配置,但是只有在TCP-no-delay被禁用后对结果不满意我才会这样做。