在Cassandra中捕获慢速查询

在Cassandra中捕获慢速查询,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,我正在处理卡桑德拉生产环境中的超时问题 我在Cassandra.yaml中将slow_query_log_timeout_in_ms设置为5000 ms,以捕获debug.log中的任何慢速查询 下面的查询多次被捕获为慢速查询,有趣的是,应用程序中没有任何类似的查询,所以我想知道Cassandra是否会将慢速查询的语法转换为某种特定格式 从mainschema.events中选择*= b7450619-d2b2-8ba6-0c48-a9bffeef79c0和tokenuser_id,id> -3

我正在处理卡桑德拉生产环境中的超时问题 我在Cassandra.yaml中将slow_query_log_timeout_in_ms设置为5000 ms,以捕获debug.log中的任何慢速查询

下面的查询多次被捕获为慢速查询,有趣的是,应用程序中没有任何类似的查询,所以我想知道Cassandra是否会将慢速查询的语法转换为某种特定格式

从mainschema.events中选择*= b7450619-d2b2-8ba6-0c48-a9bffeef79c0和tokenuser_id,id> -341911299102519303和令牌用户id,id,时间6802毫秒-慢速超时500毫秒/交叉节点


因此,我的问题是如何在Cassandra中捕获慢速查询的实际文本?

监控线程检测耗时超过慢速查询日志超时时间的查询,并在调试级别每5秒汇总一次查询

作为聚合逻辑的一部分,会发生一些转换,因此,如果在5秒钟的窗口内多次执行查询,则只会记录一次计数。例如:

DEBUG [ScheduledTasks:1] 2020-06-06 20:35:50,211 MonitoringTask.java:173 - \
    1 operations were slow in the last 4998 msecs:
<SELECT * FROM community.users WHERE user = "jack" LIMIT 5000>, \
    was slow 2 times: avg/min/max 330/825/835 msec - slow timeout 500 msec
如果你感兴趣,我已经在这篇文章中详细解释了这一点

说了这么多,我不相信你的情况会发生这种情况。我怀疑应用程序正在进行范围扫描,但您可能没有意识到。例如,应用程序可能正在使用允许筛选从mainschema.events读取。这是我的猜测,但当您查看应用程序代码以查询事件表时,它应该会给您一个线索。干杯