正在追踪cassandra是追踪卡桑德拉时间的正确选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正在追踪cassandra是追踪卡桑德拉时间的正确选择相关的知识,希望对你有一定的参考价值。

当我尝试在表中的500000个条目上执行查询时,我可以看到它在1200ms内完成,但是当我尝试使用TRACING ON执行查询时,我可以看到它在跟踪日志中显示很长时间说1850毫秒。

所以我想确认Cassandra中的TRACING ON功能是否是跟踪执行查询所需时间的正确选择?

谢谢, 掠夺

答案

有些指标可以为您提供查询所花费的时间,您可以使用nodetool proxyhistograms(doc)或直接从JMX中轻松查看。 TRACING ON用于调试请求缓慢的原因。重要的是要注意这是非常昂贵的(并且可能增加查询时间,尽管大多数跟踪是异步的)并且应该在调试问题之外避免。

您还可以使用nodetool settraceprobability全局记录一些查询,然后您可以查看这些查询,并可能使用system_traces密钥空间中的事件和会话表的某些工具进行处理。

另一答案

根据文件https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlshTracing.html

启用和禁用对群集中所有节点上的事务的跟踪。使用跟踪来解决性能问题。在system_traces键空间中捕获与Cassandra内部操作相关的详细事务信息。当查询运行时,会在查询结果中显示会话ID,并将具有高级详细信息(如会话ID和客户端以及会话长度)的条目写入system_traces.session表。

因此,它应该用于故障排除性能,从而测量所花费的时间。

跟踪信息包括活动,活动发生的时间戳,活动源以及自请求开始以来经过的时间(source_elapsed)。 source_elapsed以微秒为单位。

以上是关于正在追踪cassandra是追踪卡桑德拉时间的正确选择的主要内容,如果未能解决你的问题,请参考以下文章

球体光线追踪

弹簧靴+卡桑德拉

使用昆德拉 ORM 编写 Cassandra 的性能

卡桑德拉|Cassandra

Cassandra:删除数据而不删除表结构

卡桑德拉+弹簧数据