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

问题描述 投票:0回答:2

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

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

谢谢, 掠夺

apache cassandra cassandra-3.0
2个回答
2
投票

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

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


1
投票

根据文件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以微秒为单位。

© www.soinside.com 2019 - 2024. All rights reserved.