我们遇到了这样一个问题:一个cassandra节点在一个由18个节点组成的集群中宕机,整个集群的读/写延迟急剧上升,因此本机传输请求线程达到最大容量128(默认值),ntr max queued capcity达到(默认值128),并且本机传输请求开始被阻塞。
我不知道阻止的请求在这里意味着什么?cassandra是否会在队列满之前拒绝传入的请求?或者请求在服务器端被阻止,直到它们超时。
如果是后者,是否有可能使来自cassandra服务器端的这些请求快速失败?
我们使用的是带有datastax cassandra java驱动程序3.0.0的apache cassandra版本2.2.8
1条答案
按热度按时间gorkyyrv1#
您可以增加并发请求的数量来协调这是一种足够常见的配置,其中包含许多具有
-Dcassandra.max_queued_native_transport_requests=4096
使用2.2.8+。没有让它返回错误而不是阻塞的特性,但是会在客户端上注意到背压,并在那里排队,直到出现忙池异常。