nodetool tpstats

スレッド・プールの使用状況の統計を表示します。

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

スレッド・プールの使用状況の統計を表示します。DataStax Enterprise(DSE)データベースは、staged event-driven architecture(SEDA)に基づいて設計されています。

データベースは、異なるタスクをメッセージング・サービスに接続された段階に分けます。各段階には、キューとスレッド・プールが存在します。一部の段階には、同じノードに別の段階が存在する場合、別の段階にあるメッセージング・サービスとキュー・タスクを即座にスキップします。「DataStax Enterpriseのクラスターの監視」で説明されているように、次の段階がビジー状態で、パフォーマンスのボトルネックにつながる場合、データベースはキューをバックアップできます。

レポートは、コンパクションまたはフラッシュによってSSTableが変更されたときに更新されます。

カラムのレポート

nodetool tpstatsコマンド・レポートには、次のカラムが含まれています。
Active
Activeスレッドの数。
Pending
このスレッド・プールによる実行を待機しているPending要求の数。
Completed
このスレッド・プールによるCompletedタスクの数。
Blocked
サービスの次のステップのスレッド・プールが満杯であるため、現在Blockedとなっている要求の数。
All-Time Blocked
All-Time Blocked要求の総数。これは、現在までにこのスレッド・プールでブロックされたすべての要求です。

行のレポート

以下のリストでは、nodetool tpstats出力でレポートされるタスクに関連付けられているタスクまたはプロパティについて説明します。

一般的なメトリック

次のレポートは、ローカル・ノード上のタスクの統計を集計したものです。
BackgroundIoStage
ヒントの送信や行キャッシュのデシリアライズなどのバックグラウンド・タスクを完了します。
CompactionExecutor
コンパクションの実行。
GossipStage
ゴシップ経由でのノード情報の分散。同期されていないスキーマは問題の原因になる可能性があります。nodetool resetlocalschemaを使用して同期する必要がある場合があります。
HintsDispatcher
1つのヒント・ファイルをバッチ形式で指定したノードにディスパッチします。
InternalResponseStage
ブートストラップおよびスキーマ・チェックを含む、クライアント以外が送信したメッセージへの応答。
MemtableFlushWriter
memtableの内容のディスクへの書き込み。キューがディスクI/Oをオーバーランした場合、またはプロセスのソートが原因でバックアップすることがあります。
警告: nodetool tpstatsは、MemtableFlushWriterプールでブロックされたスレッドは報告しません。nodetool tblestatsで報告される保留中のフラッシュ・メトリクスを確認してください。
MemtablePostFlush
memtableをフラッシュした後のクリーンアップ(必要に応じてコミット・ログおよびセカンダリ・インデックスを破棄します)。
MemtableReclaimMemory
使用されていないメモリーを使用可能にする。
PendingRangeCalculator
ブートストラップおよび離脱ノードごとの保留範囲の計算。このツールによるレポートは役に立ちません。「開発者に対する注意」を参照してください。
PerDiskMemtableFlushWriter_N
各ディスクのmemtableフラッシュ書き込みのアクティビティ。
ReadRepairStage
読み取りリペアの実行。レプリカ間の接続が良好であれば、通常は高速です。

コアあたりのスレッド(TPC)タスク・メトリック

TPCループ内のすべてのアクションにはラベルが付いているため、観察可能です。Pendableとマークされたタスクは調整され、cassandra.yaml 内のtpc_concurrent_requests_limitの値セットに制限されます(デフォルトで、128)。コアあたりのスレッド・メッセージには、その先頭にTPC/typeが追加されます。ここで、
  • TPC/Nはコアnumberに対するメトリックです(--coresが指定される場合)。
  • TPC/otherは、TPCスレッド以外で実行されたタスクのメトリックです。
  • TPC/allはすべてのコアの集計タスクのメトリックです。
UNKNOWN
不明なタスク。
FRAME_DECODE
非同期フレーム・デコード。
READ_LOCAL
クライアントから直接生成されたローカル・ノードからの単一パーティション読み取り要求。
READ_REMOTE
リモート・レプリカからの単一パーティション読み取り要求。
READ_TIMEOUT
信号の読み取りタイムアウト・エラー。
READ_DEFERRED
イベント・ループで最初にスケジュールされる単一パーティション読み取り要求(Pendable)
READ_RESPONSE
単一パーティション読み取り応答。
READ_RANGE_LOCAL
クライアントから直接生成されたローカル・ノードからのパーティション範囲読み取り要求。
READ_RANGE_REMOTE
リモート・レプリカからのパーティション範囲読み取り要求。
READ_RANGE_NODESYNC
NodeSyncから開始されたパーティション範囲読み取り。
READ_RANGE_INTERNAL
内部テーブルへの範囲読み取り。
READ_RANGE_RESPONSE
パーティション範囲読み取りの応答。
READ_FROM_ITERATOR
スレッドを切り替え、イテレーターから読み取ります。
READ_SECONDARY_INDEX
スレッドを切り替え、セカンダリ・インデックスから読み取ります。
READ_DISK_ASYNC
ディスクからのデータを待機します。
WRITE_LOCAL
クライアントから直接生成されたローカル・ノードからの書き込み要求。
WRITE_REMOTE
リモート・レプリカからの書き込み要求。
WRITE_INTERNAL
内部テーブルへの書き込み。
WRITE_RESPONSE
書き込み応答
WRITE_DEFRAGMENT
多すぎるSStableの読み取りが必要なデフラグ・データに対して発行された書き込み
WRITE_MEMTABLE
正しいスレッドにまだない場合に、スレッドを切り替えてmemtableに書き込みます。
WRITE_POST_COMMITLOG_SEGMENT
書き込み要求は、コミット・ログ・セグメントの割り当てを待機しています。
WRITE_POST_COMMITLOG_SYNC
書き込み要求は、コミット・ログがディスクに同期されるのを待機しています。
WRITE_POST_MEMTABLE_FULL
書き込み要求は、memtable内のスペースを待機しています。
BATCH_REPLAY
バッチ・ミューテーションの再生
BATCH_STORE
バッチログ・エントリ要求を格納します(Pendable)
BATCH_STORE_RESPONSE
バッチログ・エントリ応答を格納します
BATCH_REMOVE
バッチログ・エントリを削除します(Pendable)
COUNTER_ACQUIRE_LOCK
カウンター・ロックを取得しています。
EXECUTE_STATEMENT
文を実行しています。
CAS
compare-and-setを実行しています(LWT)。
LWT_PREPARE
軽量トランザクションの準備フェーズ(Pendable)。
LWT_PROPOSE
軽量トランザクションの提案フェーズ(Pendable)。
LWT_COMMIT
軽量トランザクションのコミット・フェーズ(Pendable)。
TRUNCATE
切り捨て要求(Pendable)。
NODESYNC_VALIDATION
パーティションのNodeSync検証。
AUTHENTICATION
認証要求。
AUTHORIZATION
承認要求。
TIMED_UNKNOWN
スケジュールされた不明なタスク。
TIMED_TIMEOUT
スケジュールされたタイムアウト・タスク。
EVENTLOOP_SPIN
実行するタスクがない場合に、このTPCスレッドによって実行されたビジー・スピン・サイクルの数。
EVENTLOOP_YIELD
実行するタスクがない場合に、このTPCスレッドによって実行されたThread.yield()呼び出しの数。
EVENTLOOP_PARK
実行するタスクがない場合に、このTPCスレッドによって実行されたLockSupport.park()呼び出しの数。
HINT_DISPATCH
ヒント・ディスパッチ要求(Pendable)。
HINT_RESPONSE
ヒント・ディスパッチ応答。
NETWORK_BACKPRESSURE
スケジュールされたネットワークのバック・プレッシャー。

削除可能なメッセージ

データベースは以下のメッセージを生成しますが、タイムアウト後に破棄します。nodetool tpstatsコマンドは、削除された各タイプのメッセージ数を報告します。JMXクライアントを使用して、これらのメッセージを表示できます。

メッセージ・タイプ 段階 注記
BINARY なし 廃止予定
_TRACE なし(特別) トレース(nodetool settraceprobability)を記録するために使用します。実行中ではなく、挿入時にメッセージを破棄する特別エグゼキューター(1スレッド、キューの深さ1000)があります。
MUTATION MutationStage 書き込みメッセージが、タイムアウト(write_request_timeout_in_ms)後に処理された場合、書き込み失敗をクライアントに送信したか、必要な整合性レベルを満たしました。成功した場合は、ミューテーションを実行するために、ヒンテッド・ハンドオフと読み取りリペアをリレーします。
COUNTER_MUTATION MutationStage 書き込みメッセージが、タイムアウト(write_request_timeout_in_ms)後に処理された場合、書き込み失敗をクライアントに送信したか、必要な整合性レベルを満たしました。成功した場合は、ミューテーションを実行するために、ヒンテッド・ハンドオフと読み取りリペアをリレーします。
READ_REPAIR MutationStage write_request_timeout_in_ms後にタイムアウト
READ ReadStage read_request_timeout_in_ms後にタイムアウト。それ以降の読み取りは行われず、クライアントにエラーが返されます。
RANGE_SLICE ReadStage range_request_timeout_in_ms後にタイムアウト。
PAGED_RANGE ReadStage request_timeout_in_ms後にタイムアウト。
REQUEST_RESPONSE RequestResponseStage request_timeout_in_ms後にタイムアウト。応答が完了して、返送されたが、タイムアウト前ではなかった。

構文

nodetool [connection_options] tpstats
[-C] [-F json | yaml]
1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
Italics 変数値。有効なオプションまたはユーザー定義値と置き換えます。
[ ] 任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒(|)で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'Literal string' 単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。
{ key:value } マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。
<datatype1,datatype2> セット、リスト、マップ、またはタプル。山かっこ(< >)で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型をカンマで区切ります。
cql_statement; CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。
[ -- ] コマンドライン・オプションとコマンド引数は、2つのハイフン(--)で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。
' <schema> ...</schema> ' 検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。
@xml_entity='xml_entity_type' 検索CQLのみ:スキーマ・ファイルおよびsolrconfigファイル内のXML要素を上書きする実体とリテラル値を示します。

定義

短い形式と長い形式のパラメーターはカンマで区切られています。

接続オプション

-h, --host hostname
リモート・ノードのホスト名またはIPアドレス。省略した場合、デフォルトはローカル・マシンです。
-p, --port jmx_port
JMXポート番号。
-pw, --password jmxpassword
セキュアなJMXで認証するためのJMXパスワード。パスワードを入力しないと、入力するように求められます。
-pwf, --password-file jmx_password_filepath
JMX認証用の資格情報を格納するファイルへのファイルパス。
-u, --username jmx_username
セキュアなJMXで認証するためのユーザー名。

コマンド引数

-C, --cores
各コアのデータを含みます。コア数はtpc coresによって決まります。
-F, --format json | yaml
出力の形式。デフォルトはプレーン・テキストです。

ホストlabcluster上でnodetool tpstatsを実行します

nodetool tpstats -C

コマンド出力は次のとおりです。

Pool Name                                     Active      Pending (w/Backpressure)   Delayed      Completed   Blocked  All time blocked
CompactionExecutor                                 0                       0 (N/A)       N/A             80         0                 0
MemtableFlushWriter                                0                       0 (N/A)       N/A             59         0                 0
MemtablePostFlush                                  0                       0 (N/A)       N/A            294         0                 0
MemtableReclaimMemory                              0                       0 (N/A)       N/A             59         0                 0
PendingRangeCalculator                             0                       0 (N/A)       N/A              1         0                 0
PerDiskMemtableFlushWriter_0                       0                       0 (N/A)       N/A             58         0                 0
TPC/0                                              0                         0 (0)         0            235       N/A                 0
TPC/0/EVENTLOOP_PROCESSED_TASKS                    0                     N/A (N/A)       N/A           3077       N/A               N/A
TPC/0/EVENTLOOP_SCHEDULED_TASKS                    0                     N/A (N/A)       N/A           4081       N/A               N/A
TPC/0/EVENTLOOP_SELECTOR_EVENTS                    0                     N/A (N/A)       N/A           1506       N/A               N/A
TPC/0/EVENTLOOP_SELECT_CALLS                       1                     N/A (N/A)       N/A           1500       N/A               N/A
TPC/0/EVENTLOOP_SELECT_NOW_CALLS                   0                     N/A (N/A)       N/A           1507       N/A               N/A
TPC/0/EVENTLOOP_SPIN                               0                     N/A (N/A)       N/A          13589       N/A               N/A
TPC/0/READ_DISK_ASYNC                              0                     N/A (N/A)       N/A             48       N/A               N/A
TPC/0/READ_INTERNAL                                0                     N/A (N/A)       N/A              9       N/A               N/A
TPC/0/READ_RANGE_INTERNAL                          0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/0/READ_RANGE_SWITCH_FOR_RESPONSE               0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/0/READ_SWITCH_FOR_RESPONSE                     0                     N/A (N/A)       N/A              9       N/A               N/A
TPC/0/TIMED_TIMEOUT                                0                     N/A (N/A)       N/A           1038       N/A               N/A
TPC/0/UNKNOWN                                      0                     N/A (N/A)       N/A              1       N/A               N/A
TPC/0/WRITE_INTERNAL                               0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/0/WRITE_SWITCH_FOR_MEMTABLE                    0                     N/A (N/A)       N/A            160       N/A               N/A
TPC/0/WRITE_SWITCH_FOR_RESPONSE                    0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/all/EVENTLOOP_PROCESSED_TASKS                  0                     N/A (N/A)       N/A           3095       N/A               N/A
TPC/all/EVENTLOOP_SCHEDULED_TASKS                  0                     N/A (N/A)       N/A           4102       N/A               N/A
TPC/all/EVENTLOOP_SELECTOR_EVENTS                  0                     N/A (N/A)       N/A           1501       N/A               N/A
TPC/all/EVENTLOOP_SELECT_CALLS                     1                     N/A (N/A)       N/A           1499       N/A               N/A
TPC/all/EVENTLOOP_SELECT_NOW_CALLS                 0                     N/A (N/A)       N/A           1507       N/A               N/A
TPC/all/EVENTLOOP_SPIN                             0                     N/A (N/A)       N/A          13607       N/A               N/A
TPC/all/READ_DISK_ASYNC                            0                     N/A (N/A)       N/A             48       N/A               N/A
TPC/all/READ_INTERNAL                              0                     N/A (N/A)       N/A              9       N/A               N/A
TPC/all/READ_RANGE_INTERNAL                        0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/all/READ_RANGE_SWITCH_FOR_RESPONSE             0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/all/READ_SWITCH_FOR_RESPONSE                   0                     N/A (N/A)       N/A              9       N/A               N/A
TPC/all/TIMED_TIMEOUT                              0                     N/A (N/A)       N/A           1033       N/A               N/A
TPC/all/UNKNOWN                                    0                     N/A (N/A)       N/A              1       N/A               N/A
TPC/all/WRITE_INTERNAL                             0                     N/A (N/A)       N/A              2       N/A               N/A
TPC/all/WRITE_SWITCH_FOR_MEMTABLE                  0                     N/A (N/A)       N/A            160       N/A               N/A
TPC/all/WRITE_SWITCH_FOR_RESPONSE                  0                     N/A (N/A)       N/A              2       N/A               N/A

Message type            Dropped                  Latency waiting in queue (micros)
                                              50%               95%               99%               Max
RANGE_SLICE                   0               N/A               N/A               N/A               N/A
SNAPSHOT                      0               N/A               N/A               N/A               N/A
HINT                          0               N/A               N/A               N/A               N/A
COUNTER_MUTATION              0               N/A               N/A               N/A               N/A
LWT                           0               N/A               N/A               N/A               N/A
BATCH_STORE                   0               N/A               N/A               N/A               N/A
VIEW_MUTATION                 0               N/A               N/A               N/A               N/A
READ                          0               N/A               N/A               N/A               N/A
OTHER                         0               N/A               N/A               N/A               N/A
REPAIR                        0               N/A               N/A               N/A               N/A
SCHEMA                        0               N/A               N/A               N/A               N/A
MUTATION                      0               N/A               N/A               N/A               N/A
NODESYNC                      0               N/A               N/A               N/A               N/A
READ_REPAIR                   0               N/A               N/A               N/A               N/A
TRUNCATE                      0               N/A               N/A               N/A               N/A