2014-01-14 1 views
6

表示される値の意味:nodetool compactionstatsを使用している間カサンドラのnodetool「compactionstats」私は「compactionstats」のドキュメントを見つけることができません

は、completedtotal列の数値は何を意味するのですか? 私のコラムの家族は合計およそ360ギガバイトのデータサイズが、私の締固め状況が表示されています

pending tasks: 7 
compaction type keyspace column family completed  total   unit progress 
Compaction  Test  Message   161257707087 2475323941809 bytes 6.51% 

私は;-)また、(ゆっくりと進行を増やす「完了」を参照しながら。

しかし、この「合計」はどのように計算されますか? 360 GBのデータしか持たないのはなぜ2.5 TBですか?

答えて

3

圧縮をオンにする必要があります。 totalは、一緒に圧縮されているsstablesのセットを構成する非圧縮バイトの合計数です。 Compactingを含む行のためにcassandraログファイルをgrepすると、コンパクションの一部であるsstablesが見つかります。これらのサイズを合計し、列ファミリの圧縮率の逆数を掛け合わせると、合計にかなり近くなります。デフォルトでは、マルチコアシステムで検証するのは少し難しい場合があります。これは、同時コンパクションの数がコアの数にデフォルト設定されているためです。あなたは、コードを見て、この答えを確認することができます

AbstractionCompactionIterableからgetCompactionInfo()は、そのクラスからbytesReadtotalBytesフィールドを使用しています。 totalBytesは最終的であり、圧縮の一部である各ファイルからgetLengthInBytes()を合計することによってコンストラクタで計算されます。

スキャナはさまざまですが、CompressedRandomAccessReaderが返すバイト数はファイルの圧縮されていないサイズです。

関連する問題