2017-12-18 15 views
0

카산드라 동시 읽기 및 쓰기를 이해하려고합니다. 나는 잘못, 4 개 스레드가 동시에 데이터베이스에 액세스 할 수 있다면 그래서 정의에 따라, 정정 해줘 카산드라 동시 읽기 및 쓰기

concurrent_reads (Defaults are 8) 

A good rule of thumb is 4 concurrent_reads per processor core. May increase the value for systems with fast I/O storage 

라는 속성을 건너. 그래서, 나는 다음과 같은 쿼리를 실행하려고 말을

SELECT max(column1) from 'testtable' WHERE duration = 'month'; 

하자 난 그냥 무슨 일이 쿼리를 실행하려면이 쿼리를 실행에 동시 읽기의 사용을합니다 노력하고 있어요?

감사합니다,
해리 이후 카산드라 2.2에서

답변

4

얼마나 많은 활성 읽기가 호스트 당 한 번에 실행할 수 있습니까? 읽기 단계에서 nodetool tpstats을 입력하면이 내용을 볼 수 있습니다. 액티브가 동시 판독기의 수에 고정되어 있고 대기중인 큐가 있으면이 값을 늘리십시오. 상당한 크기의 힙과 SSD를 사용할 때 ~ 128에이 값을 갖는 것은 꽤 정상적인 것입니다. 이것은 매우 하드웨어에 따라 다르므로 기본값은 보수적입니다.

이 스레드의 활동은 매우 빠르며 일반적으로 서브 밀리미터로 측정되지만, 4의 경우에도 1ms가 소요된다고 가정하면 작은 법률에 따라 노드 당 초당 최대 4000 (로컬) 읽기가 있습니다 (1000/1 * 4), RF = 3 및 정족수 일관성으로 요청 당 최소 2 회 읽음을 의미하므로 이론적으로 (실제 수명이 더 깁니다) 최대 처리량을 2로 나눌 수 있습니다.

집계 기능 (즉, max)을 (각 로컬 판독을 수행하고 응답을 전송) 복제본의 데이터를 인출 한 후, 코디네이터에서 처리되고 동시에 영향을 직접 때문에 원래의 처리 판독하지되고 운송 및 요청 응답 단계.

1

는 표준 집계 함수 min, max, avg, sum, count이 내장되어 있습니다. 그래서, 나는 concurrent_reads이 귀하의 질의에 어떤 영향을 미치지 않을 것이라고 생각합니다.