可能是英文不好的原因,一直不能理解什么是speculative; 到底啥意思;
这个设置的方法是在column family level设置speculative_retry = ‘99.0PERCENTILE‘;
什么是retry呢?就是如果一个查询到了node1上,可是node1此刻非常慢,例如正在做GC. 那么就以为这这个node不能快速的返回数据。怎么办呢?继续等?Cassandra认为说我们每份数据都有好几个replicas呢,为啥要在这等着呢,不过上另外一个node查查看呢,于是coordinator会往另外一个node再发送read command。然后coordinator就在这等,看看这两个node谁先返回我就用谁的数据。因为cassandra的性能真的是非常快的,也就几个ms, 而一次GC的时间可能是几十ms的,所以这个speculative_retry就派上作用了。
http://jamirtostudycassand.blogspot.com/2015/10/speculative-query-execution.html
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
时间: 2024-11-08 23:42:40