2014-01-14 3 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% 

나는 "완료"천천히 (또한 진행 상황을 ;-) 증가 볼 수 있지만

.

하지만이 "전체"계산 방법은 무엇입니까? 360GB의 데이터 만 가지고있는 이유는 2.5TB입니까?

답변

3

압축을 켜야합니다. total은 함께 압축되는 일련의 sstable을 구성하는 압축되지 않은 바이트의 총 수입니다. Compacting을 포함하는 라인에 대해 cassandra 로그 파일을 grep하면 압축의 일부인 sstables를 찾을 수 있습니다. 이 크기를 합한 다음 열 패밀리에 대한 압축 비율의 역수를 곱하면 전체에 거의 가깝게됩니다. 기본적으로 동시 압축의 수는 코어 수를 기본값으로하기 때문에 멀티 코어 시스템에서 확인하기가 약간 어려울 수 있습니다.

또한 코드를 보면이 답변을 확인할 수 있습니다

AbstractionCompactionIterable-getCompactionInfo() 해당 클래스에서 bytesReadtotalBytes 필드를 사용합니다. totalBytes은 최종이며 컴팩 션의 일부인 각 파일에서 getLengthInBytes()을 합함으로써 생성자에서 계산됩니다.

스캐너는 다양하지만 CompressedRandomAccessReader에 의해 반환되는 길이는 파일의 압축되지 않은 크기입니다.