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服務。再次查詢,結果如下圖:
Cassandra優化之查詢超時優化

2、Client request timeout

系統默認的客戶端請求時間是10秒,如果遇到此報錯,需增加客戶端請求超時。如下:

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

後續遇到類似錯誤還會繼續更新此博文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章