0

我们在我们的应用程序中使用 infinispan 热棒。有时从缓存中检索需要更多时间。这种情况并非始终如一。大部分时间需要 6m 秒,但有时需要很长时间(200 毫秒)。

从缓存中检索到的对象大小约为 200 字节。

我们在 infinispn 5.2.1 和 JDG 6.3.2 中都进行了测试

有人遇到过这个问题吗?

谢谢

生活

4

1 回答 1

2

请记住,您正在运行 Java,这意味着垃圾收集器可以随时触发,如果您非常幸运,这将给您 200 毫秒,如果您不是,则为几秒钟;如果您有大堆,则最多几分钟良好调整的 GC 设置。

由于从分布式缓存中检索需要 RPC 到另一个节点并在那里处理 RPC,因此线程调度也起着至关重要的作用。在繁忙的系统中,让线程等待也就不足为奇了。

从 Infinispan 的角度来看,检索不需要等待。请求被转换为 RPC 到远程模式,并由接收消息的同一线程处理。该请求不等待任何锁。

在 JGroups 中,可能会涉及一些延迟。如果无法处理负载,消息可能会在网络上丢失或在接收器上丢弃,然后重新发送。此外,UFC 协议确保接收器速度可以与发送器匹配。

在非实时 Java 之上构建的任何东西都尽最大努力工作,有时会发生错误。200 ms 仍然是一个不错的响应时间。

于 2015-01-30T11:32:49.957 回答