2017-12-19 11 views
0

テーブルの500000エントリのクエリを実行しようとすると、1200msで完了していることがわかりましたが、 TRACING ONを有効にすると、トレースログに1850ミリ秒という長い時間が表示されているのがわかります。カサンドラのトレースオンは、カサンドラの時刻を追跡する正しい選択です

カッサンドラのTRACING ON機能がクエリの実行に要する時間の追跡に適しているかどうかを確認したいと思いますか?

おかげで、
ハリー

答えて

2

クエリに費やされる時間を表すメトリックがあります。nodetool proxyhistograms(doc)を使用して簡単に表示したり、JMXから直接取得したりすることができます。 TRACING ONはデバッグ用ですなぜ要求が遅いですか。これは、が非常にであることに注意することが重要です(ほとんどのトレースは非同期ですが、クエリに時間がかかる可能性があります)ので、デバッグの問題以外では避ける必要があります。

nodetool settraceprobabilityを使用して、クエリの一部をグローバルに記録することもできます。system_tracesキースペースのイベントとセッションの表を見て、多分処理することができます。

+0

このトレース機能は、クエリの実行時間を追跡するのに適していますか?それは実行時間を提供する、私の質問は、これはクエリの実行にかかる時間を追跡するための適切なユーティリティですか? – Harry

+0

私は、実際にトレースを実行するよりも実行時間が長いことがわかりました。 – Harry

+0

は、Cassandra – Harry

1
ドキュメント毎の

https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlshTracing.html

が有効と クラスタ内のすべてのノード上のトランザクションのトレースを無効にします。トレースを使用して、パフォーマンスの問題をトラブルシューティングします。 トランザクション情報に関連するCassandraの内部操作は、 で、system_tracesキースペースに取り込まれています。クエリーがクエリ結果に表示されるセッションID を実行し、セッションIDとクライアントなどの高レベルの詳細 を持つエントリとセッション長は、 system_traces.sessionテーブルに書き込まれます。

パフォーマンスのトラブルシューティングにかかる​​時間を測定するために使用する必要があります。

トレース情報は、アクティビティ、アクティビティが発生したタイムスタンプ、アクティビティのソース、およびリクエストの開始からの経過時間(source_elapsed)で構成されます。 source_elapsedはマイクロ秒単位です。

関連する問題