2016-10-12 2 views
0

cassandra-stress를 사용하여 5 천만 건의 쓰기 작업을 생성 한 다음 20 분 동안 혼합 작업 (1write 및 3read)을 생성합니다. 나는이 과정을 여러 번 반복하고있다. 각 반복 후에 작동 속도가 감소하고 이미지에 표시된대로 총 작업 시간이 증가합니다. (가) 영업 이익 감소왜 내 op/s가 감소합니까?

Write operations for 3 iterations

답변

0

은/보통이야 당신이 읽기/쓰기 실행하는 데 시간이 더 걸리는 것을 나타냅니다. 근본 원인은 C * 클러스터가 무엇을하고 있는지주의 깊게 검사하지 않으면 확인할 수 없습니다.

내가 가지고있는 정보로 일반적으로 할 수 있습니다 : C * 긴 GC 일시 정지가 발생 시작하기 때문에 클러스터가 제대로 수행 예를 들어

  • 당신은 잘못된 JVM 설정을 가지고, 그래서 당신의 GC 로그 파일을 확인 그에 따라 JVM을 조정하십시오.

  • 아무 잘못 없습니다. C *는 압축을 위해 점점 더 많은 디스크 IO를 수행하기 시작하며 IOPS가 부족하기 때문에 전체 처리량이 감소합니다. nodetool compactionstats 명령을 사용하면 스트레스 중 시간에 따라 압축이 축적되는지 (스트레스가 완료되면 성공적으로 완료) 또는 시스템에 스트레스를주고있는 동안 (따라서 IOPS 문제가 전혀 없는지) 이해할 수 있습니다. YAML 파일에서 concurrent_compactors 설정을 확인하십시오.

+0

안녕하세요. 답변 해주셔서 감사합니다. nodetool compactionstats를 확인했는데 보류중인 작업이 0임을 나타냅니다. concurrent_compactors 설정은 yaml 파일에 주석 처리되어 있습니다. 저는 카산드라의 초심자입니다. –

+0

동일한 작업을 반복해서 실행하면 처음에는 평균 op/s가 약 65k가되고 천천히 30k로 감소합니다. 나는 대개 모든 반복을 실행하기 전에 cassandra/data/data 및 cassandra/logs의 내용을 삭제하여 데이터를 지 웁니다. –

+0

@MohitVellanki'nodetool cfhistograms '으로 몇 가지 통계를 확인 했습니까? – xmas79

관련 문제