我们在10个节点集群(apprx 500 MB数据)的缓存中有200万个分布式数据对象(未复制)。备份计数是一个。我们看到以下错误/警告。 你们知道什么时候能看到这些错误吗?我已经清理了一些日志以便不分享敏感内容。我们大部分时间都在缓存读取(大约400请求/秒),整个缓存每2小时重新初始化。
我知道我们可以使用复制缓存来提高性能,但想知道这里发生了什么错误。当我使用较小的集群(例如5个节点)运行时,一切正常。
2017-06-24 23:46:22.679 ERROR(hz._hzInstance_1_My-App.partition-operation.thread-5)[chmioGetOperation] - [192.168.111.11]:5701 [我的应用] [3.6.3 ]无法发送响应:HeapData {type = -2,hashCode = 113248027,partitionHash = 113248027,totalSize = 722,dataSize = 714,heapCost = 742}到地址[192.168.111.13]:5701。操作:com.hazelcast.map.impl.operation.GetOperation {identityHash = 1124265765,serviceName =' hz:impl:mapService',partitionId = 189,replicaIndex = 0,callId = 3490089,invocationTime = 1498362385498(周六) 2017年6月24日23:46:25),waitTimeout = -1,callTimeout = 8000,name = HKF / my-cache-id-3,name = HKF / my-cache-id-3} com.hazelcast.spi.exception.ResponseNotSentException:无法发送响应:HeapData {type = -2,hashCode = 113248027,partitionHash = 113248027,totalSize = 722,dataSize = 714,heapCost = 742}到地址[192.168.111.13]:5701 。操作:com.hazelcast.map.impl.operation.GetOperation {identityHash = 1124265765,serviceName =' hz:impl:mapService',partitionId = 189,replicaIndex = 0,callId = 3490089,invocationTime = 1498362385498(周六) 2017年6月24日23:46:25),waitTimeout = -1,callTimeout = 8000,name = HKF / my-cache-id-3,name = HKF / my-cache-id-3} at com.hazelcast.spi.impl.operationservice.impl.RemoteInvocationResponseHandler.sendResponse(RemoteInvocationResponseHandler.java:54) 在com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.sendResponse(OperationRunnerImpl.java:278) 在com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.handleResponse(OperationRunnerImpl.java:251) 在com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:173) 在com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:393) 在com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.processPacket(OperationThread.java:184)
答案 0 :(得分:1)
为什么你有如此庞大的输入和输出线程数(30/50)。在大多数情况下,默认值为3 + 3就足够了。如果你没有50多个连接;所有这些线程都将空闲。即使有50多个连接,你也无法通过如此多的IO线程获得良好的性能。
您看到的错误似乎表明存在网络问题:无法发送响应。最大的问题是为什么会这样。
您可以启用诊断程序:
并将日志文件发送到hazelcast dot com的peter所以我可以查看它。