Cassandra优化之查询超时优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cassandra优化之查询超时优化相关的知识,希望对你有一定的参考价值。

节前将oracle数据迁移到cassandra后,查询表的总记录数(千万级以上),总会报超时错误,找了下相关资料,需要更改配置文件里的相关超时参数。

1、ReadTimeout-1200

cqlsh:spacewalk> select count(*) from rhnpackagecapability;
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes‘ responses] message="Operation timed out - received only 1 responses." info={‘received_responses‘: 1, ‘required_responses‘: 1, ‘consistency‘: ‘ONE‘}
cqlsh:spacewalk> exit

遇到此报错,只需增加以下几个参数的值:

[root@db03 ~]# vi /etc/cassandra/default.conf/cassandra.yaml
read_request_timeout_in_ms: 600000
range_request_timeout_in_ms: 600000
slow_query_log_timeout_in_ms: 600000
[root@db03 ~]# systemctl restart cassandra

修改完成后,重启cassandra服务。再次查询,结果如下图:
技术图片

2、Client request timeout

系统默认的客户端请求时间是10秒,如果遇到此报错,需增加客户端请求超时。如下:

[root@db03 ~]# vi .cassandra/cqlshrc 
...
[connection]
request_timeout = 600
....

后续遇到类似错误还会继续更新此博文。

以上是关于Cassandra优化之查询超时优化的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch笔记九之优化

为啥这个 SPARQL 查询超时以及如何优化这个查询?

优化实体框架查询 - 超时已过期

操作超时 - BigQuery 优化窗口功能

MySQL优化

DevOps之prometheus优化