카산드라 EC2 느린 응답 시간

카산드라 EC2 느린 응답 시간

나는 한동안 로컬에서 Cassandra를 사용하여 개발해 왔으며 쿼리에 대한 응답 시간은 50ms 정도입니다.

Cassandra 커뮤니티 ami에서 5노드 EC2 클러스터를 설정했는데 모든 것이 잘 진행되었으며 opscenter가 작동되어 실행 중이며 문제가 없습니다.

키스페이스를 생성하거나 빈 테이블에서 select *를 수행하는 등 aws 네트워크 외부의 시스템에서 쿼리를 수행하면 응답 시간이 20초가 넘습니다.

동일한 지역의 머신에서 쿼리할 때 응답 시간은 1~2초로 여전히 매우 느립니다.

EC2 머신은 모두 m1.large eu-west-1a입니다.

왜 이런 일이 발생하는지 또는 문제를 찾기 위해 어디를 찾아야 하는지 아십니까?

답변1

DevCenter의 현재 버전은 (긴) CQL 스크립트를 실행하는 기본 시나리오로 지원하도록 설계되었습니다(쿼리가 차례로 실행되는 대화형 콘솔과 비교). DevCenter는 Cassandra용 DataStax Java 드라이버를 기본 커넥터로 사용하고 있습니다.

위에 언급된 시나리오의 경우 "충돌"이 없는지 확인하기 위해 각 실행마다 새 세션이 생성됩니다. 세션이 초기화되면 드라이버는 자동 노드 검색을 수행하고 연결 풀을 생성하는 등의 작업을 수행합니다. 기본적으로 많은 준비 작업을 수행합니다. 클라이언트 시스템에서 EC2 노드까지의 지연 시간, 클러스터 크기 및 이러한 노드의 구성(연결 요구 사항 참조)에 따라 이 초기화 단계는 상당히 비쌀 수 있습니다.

상상할 수 있듯이 준비에 소요되는 시간은 DDL 스크립트 실행과 적당한 크기의 삽입/업데이트 실행에 큰 비중을 차지하지 않습니다. 그러나 대화형 시나리오의 경우 최적이 아닌 동작(설명하는 동작)이 발생합니다.

DevCenter의 다음 버전에서는 대화형 시나리오를 다루고 최적화하여 사용자 경험이 기대했던 것과 같을 것입니다. 그리고 이 시나리오를 지원하는 것이 우리의 우선순위 목록에서 상당히 높습니다.

출처:https://stackoverflow.com/questions/21219300/cassandra-native-transport-port-9042-slow-on-ec2-machine/21224540#21224540

관련 정보