2012-12-13 4 views
1

YCSB를 사용하고 workloadc (read100 %)를 사용하여 카산드라를 테스트하십시오. iostat는 항상 읽기와 함께 0을 표시합니다.카산드라가 ssttable에서 데이터를 읽지 않았습니다.

구성 :

데이터가 SDB, 24G 데이터, 8 세대 힙 크기, 기본 memtable 크기, 비활성화 행 캐시와 키 캐시에 있습니다.

제 생각에는 통일 된 요청으로 인해 memtable miss가 발생하고 ssttable에있는 데이터를 검색합니다 ( ). 따라서 데이터 디렉토리가 0이 아니어야합니다. 어떻게 8G 힙의 memtable이 24G 데이터를 모두 저장할 수 있습니까?

누구나 같은 문제가 발생 했습니까?

답변

0

여기에는 어떤 마법도 없습니다. 귀하의 요청 작업량은 생각했던대로 무작위가되어서는 안됩니다.

나는 YCSB 사본을 체크 아웃했고 workloadc는 균일하지 않은 requestdistribution = zipfian을 사용합니다.

0

기계의 총 메모리 양은 얼마입니까? 컴퓨터에 32GB 이상의 RAM이있는 경우 OS 페이지 캐시가 될 수 있습니다. 캐시는 Cassandra 프로세스 외부에 있습니다 (예 : 힙이 아님). 그런 상황에서 OS (리눅스라고 가정)는 전체 24GB를 메모리에 캐싱을 감추고 거의 디스크 활동을하지 않을 것입니다.

관련 문제