首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra调试日志分析

Cassandra调试日志分析
EN

Stack Overflow用户
提问于 2021-01-14 21:22:24
回答 1查看 201关注 0票数 0

我有一台卡桑德拉debug.log。它有很多不会被任何应用程序触发的SELECT *查询。应用程序请求SELECT查询中的特定字段,而且这些查询似乎有一个LIMIT 5000子句,我非常确定在任何应用程序中都没有这个子句。这些查询是由cassandra内部触发的吗?调试日志中充满了这样的查询。该应用程序使用gocql驱动程序连接到cassandra。

代码语言:javascript
复制
<SELECT * FROM table_name WHERE id = 0 LIMIT 5000>, was slow 45 times: avg/min/max 4969/4925/4996 msec - slow timeout 500 msec/cross-node
DEBUG [ScheduledTasks:1] 2021-01-14 18:02:33,271 MonitoringTask.java:152 - 160 operations timed out in the last 5004 msecs:
<SELECT * FROM table_name WHERE id = abcd LIMIT 5000>, total time 7038 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = efgh LIMIT 5000>, total time 5793 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = hijk LIMIT 5000>, total time 5289 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = lmnop LIMIT 5000>, total time 5826 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = qrst LIMIT 5000>, total time 6006 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = uvwx LIMIT 5000>, total time 5905 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = yzabc LIMIT 5000>, total time 5217 msec, timeout 5000 msec/cross-node 
.
..
....
.....
... (110 were dropped)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 10:22:50

所有这些查询都来自您的应用程序。它们不是由Cassandra完成的。

来自MonitoringTask的这些消息由Cassandra 3.10+中一个称为慢查询日志记录(CASSANDRA-12403)的功能记录下来。我之前已经在这篇文章中解释过了-- https://community.datastax.com/questions/7835/

慢查询日志记录将耗时超过slow_query_log_timeout_in_ms (默认为500ms)的查询聚合为5秒一组的“窗口”。作为聚合的一部分,列不会在日志中枚举,而是用星号(*)替换,因此可以轻松地对它们进行分组。

此外,驱动程序还启用了分页。如果您的应用程序未设置页面大小,则驱动程序的默认页面大小为5000 (LIMIT 5000)。这是您发布的慢查询消息中记录的限制。干杯!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65719803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档