프로덕션 환경에서 Couchbase Server를 실행하려는 사용자는 종종 Couchbase Server 성능과 일반적인 워크로드에 대한 응답 시간 및 처리량 결과에 대해 문의합니다. 최근 Cisco와 Solarflare는 Cisco 연구소에서 Couchbase Server를 NoSQL 데이터베이스로 사용하여 실행한 벤치마크의 결과를 보여주는 백서를 발표했습니다. 이 벤치마크는 커널 수준 최적화뿐만 아니라 10Gig 이더넷의 이점을 입증하기 위해 특별히 설계되었지만, 고객이 프로덕션 배포를 위해 사랑하고 의존하게 된 몇 가지 주요 Couchbase Server 강점도 보여줍니다. 이 블로그에서는 벤치마킹을 통해 얻은 몇 가지 추가 세부 사항과 인사이트를 소개합니다.

벤치마크는 70% 읽기 및 30% 쓰기가 혼합된 워크로드에서 두 가지 테스트 세트를 실행했습니다. 첫 번째 테스트에서는 저장된 문서의 크기가 128바이트에서 16KB까지 다양했으며, 다양한 네트워킹 설정에 대해 읽기 및 쓰기 작업의 평균 지연 시간을 엔드 투 엔드(클라이언트에서 데이터베이스 서버로 그리고 다시 클라이언트에서 데이터베이스 서버로)로 측정했습니다.

아래 차트 1은 결과를 보여주며 다음과 같은 사실을 보여줍니다. Couchbase 서버는 엄청나게 빠릅니다. 1Gig 이더넷과 16KB의 문서 크기에서도 마이크로초 단위로 응답했습니다. 지연 시간은 모든 크기의 문서에 대해 10Gig 이더넷을 사용할 경우 200μ초 미만, 모든 경우에 500μ초 미만이었습니다. 하지만 더 중요한 것은 일관되고 예측 가능한 지연 시간 (10GigE에서는 대기 시간 그래프가 평평한 반면, 1GigE 네트워크에서는 대용량 문서 전송에 약간 더 많은 시간이 소요됩니다). 이 핵심 요소는 웹 애플리케이션의 사용자 경험에서 중요한 역할을 합니다.

Benchmark-blog-Chart1

차트 1

두 번째 테스트에서는 1노드에서 5노드까지 Couchbase 클러스터에 노드가 추가됨에 따라 평균 처리량을 측정했습니다.

Benchmark-blog-Chart2

차트 2

위의 차트 2에서 노드가 4개만 있어도 처리량이 거의 115만 건에 달하는 것을 볼 수 있습니다. 초당. 정보 1.4GB 초당 의 데이터가 실제로 데이터베이스 서버와 클라이언트 간에 전송되고 있습니다.  높은 쓰기 처리량 는 상당한 크기의 1KB 문서에서도 볼 수 있습니다. 일부 애플리케이션의 경우 높은 처리량이 요구될 수 있지만, 이 테스트에서도 다음과 같은 결과가 나타났습니다. 선형 처리량 클러스터에 더 많은 서버가 추가될수록 증가합니다: 2노드에서는 초당 0.62만 작업, 4노드에서는 초당 115만 작업입니다.

어떻게 이런 수준의 데이터베이스 성능 를 달성할 수 있습니다. 그 중심에는 Couchbase Server 아키텍처와 디자인이 있습니다:

  1. 모든 노드가 동일하고 독립적인 공유 무공유 아키텍처로 선형 확장성 지원
  2. 키는 클러스터 전체에 자동 샤딩되며 클러스터의 노드 수가 1개이든 8개이든 균등하게 분산됩니다.
  3. 카우치베이스 잠금의 세분성이 낮고 경합을 최소화하여 높은 쓰기 처리량 지원
  4. 읽기는 쓰기와 독립적으로 동시에 이루어지므로 쓰기 횟수에 관계없이 높은 읽기 처리량을 지원합니다.
  5. 내장된 관리형 캐싱 계층으로 일관된 짧은 지연 시간 응답 지원

벤치마크를 위한 Couchbase Server 구성에 대한 몇 가지 추가 세부 정보를 아래에 포함했습니다. 이 블로그가 도움이 되셨기를 바라며, 다음 사항을 참고하시기 바랍니다. 카우치베이스 서버 다운로드 를 확인하여 웹 애플리케이션에 적합한지 확인하세요.

기타 참고 사항

다음은 벤치마크 설정에 대한 몇 가지 추가 세부 정보입니다:

Couchbase Server 1.8.0을 실행하는 8개의 노드가 NoSQL 데이터베이스 서버로 사용되었고, 하나의 노드는 테스트를 실행하는 데 사용되었습니다. Couchbase Server는 하나의 복제본으로 구성되었습니다. 하나의 서버가 워크로드를 실행하는 클라이언트로 사용되었습니다. 테스트에 사용된 워크로드 생성기는 다음과 같습니다. mcsoda 오픈 소스 스트리밍 부하 발생기는 GET과 SET 연산을 70:30 비율로 혼합하여 사용합니다.

워크로드 생성기에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 여기.

작성자

게시자 딥티 보르카, Sr. 솔루션 엔지니어링 이사, Couchbase

딥티 보르카는 카우치베이스의 솔루션 엔지니어링 수석 디렉터입니다. Dipti는 산업 기반 판매를 위한 시장 진출 전략을 관리하고 수립하여 집중적인 리드 타겟팅을 통해 자격 검증 주기를 최대 6주까지 단축하는 고도로 맞춤화된 판매 노력을 이끌고 있습니다.

댓글 하나

  1. 쓰기 작업 성능 벤치마크 결과가 있나요?

    1. 매트 인젠트론 10월 6, 2012에서 7:13 오후

      최근 카우치컨퍼런스 샌프란시스코에 게시된 YCSB 벤치마크 결과를 살펴볼 수 있습니다.

      1. 벤치마크 결과를 확인할 수 있는 링크가 있나요?

  2. "Couchbase 서버는 엄청나게 빠르다"라는 문장이 마음에 듭니다. 흥미로운 게시물에 감사드립니다!

  3. [...] 쓰기를 사용하시겠습니까, 아니면 단일 노드에서 초당 수만 건은 아니더라도 수십만 건의 작업을 처리할 수 있는 데이터베이스에 로깅 책임을 넘기시겠습니까? 좋아, 여러분의 애플리케이션이 [...]가 아니길 바랍니다.

댓글 남기기