当我尝试在表中的500000条目上执行查询时,我可以看到它在1200ms内完成,但是当我尝试使用启用上的跟踪执行查询时,我可以看到它在图日志中显示了很长的时间,即1850毫秒。
因此,我想确认卡桑德拉(Cassandra)在特征上的跟踪是否是跟踪执行查询时间的时间的正确选择?
有一些指标可以为您提供查询所花费的时间,您可以最轻松地使用nodetool proxyhistograms
(DOC)或直接从JMX抓取它。TRACING ON
用于调试为什么请求很慢。重要的是要注意,这是非常昂贵的(并且可能会增加查询时间,尽管大多数跟踪是异步),并且应该避免在调试问题之外。
您也可以使用nodetool settraceprobability
在全球录制一些查询中,然后您可以在system_traces
Keyspace中的事件和会话表中查看并处理一些工具。
每个文档https://docs.datastax.com/en/cql/3.3/cql/cql/cql_reference/cqlshtracing.html
启用并禁用跟踪在该节点上的所有节点上的交易 簇。使用跟踪来解决性能问题。详细的 交易信息与Cassandra内部操作有关 在System_Traces键空间中捕获。当查询运行会话ID时 在查询结果中显示和带有高级详细信息的条目 例如会话ID和客户端以及会话长度,将其写入 system_traces.session表。
因此,应将其用于故障排除性能,从而测量所花费的时间。
跟踪信息由活动组成,活动的时间戳,活动源以及自请求开始以来经过的时间(source_elapsed)。source_elapsed在微秒中。