Skip to main content
QUICK REVIEW

[논문 리뷰] Performance Tuning and Scaling Enterprise Blockchain Applications

Grant Chung, Luc Desrosiers|arXiv (Cornell University)|2019. 12. 24.
Software System Performance and Reliability참고 문헌 21인용 수 13
한 줄 요약

이 논문은 Hyperledger Fabric 기반 기업용 블록체인 애플리케이션의 성능 튜닝 및 수평/수직 스케일링을 위한 체계적인 방법론을 제시한다. 소스 코드를 수정하지 않고도 현장에서 1,900 TPS, 클라우드 환경에서 3,000 TPS의 성능을 달성하였다. 이 방법론은 워크로드 인식 튜닝, 인프라 최적화, 컴포넌트 수준 분석을 조합하여 실험실 결과와 실제 생산 환경 간의 격차를 메운다.

ABSTRACT

Blockchain scalability can be complicated and costly. As enterprises begin to adopt blockchain technology to solve business problems, there are valid concerns if blockchain applications can support the transactional demands of production systems. In fact, the multiple distributed components and protocols that underlie blockchain applications makes performance optimization a non-trivial task. Blockchain performance optimization and scalability require a methodology to reduce complexity and cost. Furthermore, existing performance results often lack the requirements, load, and infrastructure of a production application. In this paper, we first develop a methodical approach to performance tuning enterprise blockchain applications to increase performance and transaction capacity. The methodology is applied to an enterprise blockchain-based application (leveraging Hyperledger Fabric) for performance tuning and optimization with the goal of bridging the gap between laboratory and production deployed system performance. We then present extensive results and analysis of our performance testing for on-premise and cloud deployments, in which we were able to scale the application from 30 to 3000 TPS without forking the Hyperledger Fabric source code and maintaining a reasonable infrastructure footprint. We also provide blockchain application and platform recommendations for performance improvement.

연구 동기 및 목표

  • 실험실 블록체인 성능 결과와 실제 생산 환경의 시스템 능력 사이의 핵심 격차를 해소하기 위해.
  • 상호의존적인 프rotocol과 컴포넌트를 가진 다중 컴포넌트 분산 블록체인 시스템의 최적화 복잡성을 극복하기 위해.
  • 엔터프라이즈 배포 환경에서 처리량을 극대화하고 지연을 최소화하는 반복 가능하고 체계적인 성능 튜닝 접근법을 개발하기 위해.
  • 실제 애플리케이션 워크로드, 완전한 로깅, 생산 수준의 설정을 사용하여 생산 수준 환경에서 확장 가능한 성능을 입증하기 위해.
  • stateDB, 합의, 피어 역할 등 블록체인 컴포넌트에서의 주요 성능 저하 요인을 식별하고 해결하기 위해.

제안 방법

  • 성능 저하 요인을 블록체인 컴포넌트 전반에서 식별하기 위해 3단계 트랜잭션 추적 방법론(엔드오르, 오더, 커밋)을 적용한다.
  • 다양한 인프라 설정을 가진 현장(제로 시스템) 및 클라우드(IBM 클라우드) 배포 환경에서 광범위한 성능 테스트를 수행한다.
  • 블록 크기, 커밋 전략, 피어 역할(예: 엔드오링 및 커밋링 피어 분리)과 같은 핵심 매개변수를 체계적으로 튜닝한다.
  • 모든 트랜잭션 단계 및 시스템 컴포넌트 전반에서 성능 데이터를 수집하고 분석하기 위해 로그, 추적, 메트릭스를 사용한다.
  • CPU 코어 수(최대 16개)와 메모리(최대 16GB)를 증가시켜 수직 스케일링을 평가하고, 가상-물리 CPU 매핑 영향을 분석한다.
  • CouchDB stateDB 액세스 패턴과 블록 검증을 위한 버퍼드 채널을 사용해 핵심 컴포넌트를 분석하고 최적화한다.

실험 결과

연구 질문

  • RQ1최대 성능과 확장성을 달성하기 위해 체계적인 방법론을 기업용 블록체인 애플리케이션에 어떻게 적용할 수 있는가?
  • RQ2생산 수준의 Hyperledger Fabric 배포 환경에서 주요 성능 저하 요인은 무엇이며, 어떻게 완화할 수 있는가?
  • RQ3기본 블록체인 플랫폼 소스 코드를 수정하지 않고도 수평 및 수직 스케일링을 통해 처리량을 얼마나 높일 수 있는가?
  • RQ4현장 vs. 클라우드 배포 환경과 인프라 설정의 차이가 트랜잭션 처리 성능에 어떤 영향을 미치는가?
  • RQ5가상-물리 CPU 매핑이 성능 저하에 어떤 역할을 하는가? 어떻게 최적화할 수 있는가?

주요 결과

  • 이 방법론을 통해 처리량이 63배 증가하여 현장에서 30 TPS에서 1,900 TPS로 향상되었으며, 설정 튜닝과 인프라 스케일링를 통해 달성되었다.
  • 클라우드 배포 환경에서는 24개의 vCPU와 최적화된 인프라를 활용해 3,000 TPS를 달성했으며, 현장 배포 대비 더 뛰어난 성능 확장성을 보였다.
  • CouchDB stateDB 상호작용이 고부하 상황에서 비효율적인 잠금 및 I/O 패턴으로 인해 주요 성능 저하 요인으로 밝혀졌다.
  • 피어 역할을 전용 엔드오링 및 커밋링 피어로 분리함으로써 자원 경쟁을 줄이고 트랜잭션 처리 효율성을 향상시켰다.
  • 블록 검증 시 버퍼드 채널을 사용함으로써 차단된 고루틴 수를 줄여 검증 단계에서 처리량을 향상시켰다.
  • 높은 가상-물리 CPU 매핑 비율(예: 6:1)은 CPU 활용도를 제한하고 성능을 저하시켜 최적 성능을 위해 낮은 오버커밋 비율이 필요함을 시사했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.