ops/sec로 표시되는 Opscenter의 '쓰기 요청' 수는 정확히 무엇을 의미합니까?

ops/sec로 표시되는 Opscenter의 '쓰기 요청' 수는 정확히 무엇을 의미합니까?

저는 최근 카산드라를 이해하고 작업하기 시작했습니다.

두 개의 Column Family를 만들었습니다. CF1의 경우 쓰기는 모든 열 값이 포함된 고유 행에 대한 삽입입니다. 예: 삽입 작업의 순서는 다음과 같습니다.

      Key Col1  Col2   Col3
      k1  c11   c12   c13
      k2  c21   c22   c23

CF2의 경우. 쓰기는 타임스탬프가 표시된 행의 열에 대한 삽입입니다. 예: 삽입 작업의 순서는 다음과 같습니다.

     Key  timeCol1  timeCol2
     k1   ct11
     k1   ct11        ct12
     k2   ct21
     k2   ct21        ct22

나는 YCSB를 사용하고 있으며 중고품 기반을 사용하고 있습니다.클라이언트.batch_mutate()부르다. CF1의 경우 호출을 통해 행의 모든 ​​열 값을 보냅니다. CF2의 경우 행에 대한 새 열 값을 보냅니다.

이제 opscenter가 "쓰기 요청"을 1000으로 보고한다고 가정해 보겠습니다.운영/sec 레코드 수가 10000개 레코드인 경우.

Opscenter 관점에서 작업은 무엇을 의미합니까? 모든 열 계열에 걸쳐 고유한 행 삽입을 의미합니까? 행의 각 돌연변이 수를 의미합니까? Opscenter는 고유한 작업을 어떻게 식별합니까? 애플리케이션 관점에서 작업은 두 열 계열 모두에 대해 서로 다른 의미를 갖습니다.

어떤 사람이 나를 안내해 줄 수 있습니까?

고마워요, 아룬

답변1

"쓰기 요청" 및 "읽기 요청" 지표는 외부 클라이언트의 작업 수를 나타내므로 포함된 변형 수에 관계없이 단일 일괄 처리 돌연변이 호출은 요청 1개입니다.

"CF: 로컬 쓰기" 및 "CF: 로컬 읽기" 메트릭은 로컬 노드(일반적으로 코디네이터 노드)에서 수신된 작업 수를 나타냅니다. 단일 삽입의 경우 "CF: 로컬 쓰기" 수는 해당 키스페이스에 대한 "쓰기 요청" x RF와 같습니다. Batch_mutate 호출의 경우 배치 내의 각 변형은 "CF: Local Writes" 수준에서 별도로 계산됩니다.

이러한 작업은 행 수준에서만 수행되며 관련 데이터를 기반으로 하는 지능적인 처리/병합은 없습니다. 예를 들어 동일한 업데이트 쿼리를 두 번 실행하면 2개의 작업이 생성됩니다.

관련 정보