AWS 기반 Tableau Server의 성능 최적화

아카이브된 콘텐츠

공용 클라우드에서의 배포는 계속 지원되지만 타사 공용 클라우드 배포에 대한 콘텐츠는 더 이상 업데이트되지 않습니다.

최신 Tableau Server 배포 콘텐츠는 엔터프라이즈 배포 가이드(링크가 새 창에서 열림) 및 Tableau Server 도움말의 배포(링크가 새 창에서 열림) 섹션을 참조하십시오.

액세스 권한이 있는 고객에게는 Tableau Cloud이 권장됩니다. 자세한 내용은 다음을 참조하십시오.

소개

AWS Cloud의 Amazon EC2 인스턴스에 설치된 Tableau Server의 성능 최적화는 Tableau Server 솔루션의 성능 조정을 위한 다른 차원을 추가합니다. 이 섹션에서는 클라우드에 적합하게 Tableau Server를 조정하는 방법을 설명합니다. 일반적인 성능 조정 정보는 Tableau Server 성능 개요를 참조하십시오. 성능 최적화를 지원하는 데 사용할 수 있는 도구에 대한 자세한 내용은 성능 리소스를 참조하십시오.

모든 AWS 기반 Tableau Server 배포는 각 사용자의 고유한 작업 부하 요구 사항에 따라 다릅니다. 회사의 사용자가 다르고, 활용하는 데이터가 다르고, 문의하는 내용이 다르며, 비즈니스 요구 사항이 각기 다릅니다. 따라서 Tableau Server 작업 부하를 다양한 Amazon EC2 인스턴스 유형에서 테스트한 후 프로덕션 환경에 설치하는 것이 좋습니다. 작업 부하 요구 사항은 다음 요인의 영향을 받을 수 있습니다.

  • Tableau 데이터 추출 사용량(많음, 적음, 중간)

  • 비주얼리제이션 및 대시보드를 보는 사용자와 상호 작용하는 사용자의 비율

  • Tableau 데이터 추출 새로 고침이 수행되는 시간(업무 시간 중간 또는 업무 시간 이후)

  • 지정된 기간의 동시 개별 사용자 수

  • 뷰 및 대시보드의 복잡성

  • Tableau 웹 작성을 활용하는 커뮤니티의 규모

올바른 인스턴스 유형을 선택하기 위한 몇 가지 일반적인 지침이 있습니다. Tableau는 자체 설계한 무료 확장성 테스트 도구인 TabJolt를 통해 Amazon EC2 인스턴스에서 부하 테스트를 실행하여 다음 메트릭을 기반으로 성능 및 확장성을 테스트할 수 있습니다.

  • 실행 중인 가상 사용자의 수

  • 초당 평균 트랜잭션

  • 평균 성공 응답 시간

  • 평균 오류 비율(오류가 발생하는 데 60초 이상이 소요되는 모든 비주얼리제이션을 테스트에서 고려함)

성능을 위한 최상의 방법

다음은 AWS에서 Tableau를 배포할 때 성능과 관련하여 유용하게 참조할 수 있는 최상의 방법입니다.

  • 각 Amazon EC2 인스턴스를 8개 이상의 코어에서 실행

    사용자 수가 비교적 적은 경우라 하더라도 vCPU 16개 미만(코어 8개에 해당)의 EC2 인스턴스는 일관적으로 우수한 성능을 제공하지 못합니다. 예를 들어 vCPU가 16개인 r4.4xlarge 인스턴스 하나는 각각 vCPU가 8개인 r4.2xlarge 인스턴스 2개보다 많은 사용자를 처리할 수 있으며 응답 시간 및 오류 비율이 낮습니다. 이 패턴은 수직 확장 시에도 일관적으로 유지됩니다. 16vCPU 인스턴스 4개와 32vCPU 인스턴스 2개는 8vCPU 인스턴스 8개보다 훨씬 더 높은 성능을 제공합니다.

  • 작업 부하에 따라 결과가 크게 달라짐

    작업 부하의 강도는 여러 EC2 인스턴스 유형의 성능에 지속적인 영향을 미칩니다. 예를 들어 동일한 기반 가상 컴퓨터 인스턴스에서 다른 대시보드를 사용하는 경우 눈에 띄는 성능 차이가 발생합니다. 고유한 작업 부하가 아닌 다른 작업 부하를 사용하여 성능을 비교하는 것은 큰 의미가 없습니다.

  • CPU가 많을수록 좋음

    Tableau Server 성능의 병목 현상은 주로 CPU에서 야기되는 경우가 많습니다. 일반적으로 Tableau에서 더 많은 작업을 수행하려면 성능이 좋은 CPU를 추가하는 것이 좋습니다.

  • Amazon EC2 인스턴스의 RAM이 충분한지 확인

    CPU 수는 적지만 RAM이 많은 인스턴스에서 동일한 작업 부하를 실행했을 때 TPS(초당 트랜잭션 수)가 더 높았고, 응답 시간은 짧았으며, 오류 비율은 낮았습니다. RAM이 너무 작은 EC2 인스턴스에서는 고성능 CPU의 이점이 상쇄될 수 있습니다. 프로덕션 환경에서는 코어당 8GB RAM을 목표로 30GB 이상의 RAM을 사용하여 인스턴스를 실행하십시오. CPU가 많은 인스턴스를 선택하는 것이 중요하지만 RAM이 부족한 인스턴스에서 Tableau Server를 실행하면 CPU 수에 관계없이 성능이 저하될 수 있습니다.

  • SSD 기반 볼륨을 사용하는 것이 좋지만 Provisioned IOPS는 필요하지 않을 수 있음

    Tableau Server에는 시스템 메타데이터를 저장하는 산업용 데이터베이스(PostgreSQL)를 포함하여 다수의 프로세스와 구성 요소가 포함되어 있습니다. Tableau Server가 제대로 작동하려면 합리적인 수준의 디스크가 필요하며 Amazon EBS(Elastic Block Store) SSD 기반 볼륨만 사용하는 것이 좋습니다. 자기 디스크는 데이터베이스의 요청을 효과적으로 처리하는 데 필요한 처리량을 제공하지 못합니다. 테스트에서 범용 SSD(gp2)와 EBS Provisioned IOPS 볼륨을 모두 실행했고 EBS 디스크 2개를 대부분의 테스트에 사용했습니다. 대부분의 EBS 볼륨에는 1,500 Provisioned IOPS가 포함되었습니다. 범용 SSD로 다시 테스트를 실행한 후 결과는 중간 수준의 작업 부하에서 거의 동일했습니다. AWS 기반 Tableau Server 작업 부하에서 Provisioned IOPS가 눈에 띄는 성능 차이를 보인 경우는 분명히 있었지만 그렇다고 해서 Provisioned IOPS가 기본적으로 필요하다고 가정할 수는 없습니다. 이를 확인하는 가장 좋은 방법은 Tableau Server 작업 부하를 직접 테스트하는 것입니다.

  • TabJolt를 사용하여 자체 테스트 수행

    Amazon EC2 인스턴스의 작업 부하 및 구성에 따라 Tableau Server의 성능이 크게 달라질 수 있습니다. EC2는 유연하기 때문에 요구 사항에 적합한 설정과 인스턴스 유형의 조합을 쉽게 결정할 수 있습니다. 예를 들어 RAM 및 CPU를 많이 소모하는 일부 프로세스를 클러스터의 모든 컴퓨터에서 실행하는 대신 여러 시스템에 분리하면 TPS(초당 트랜잭션 수)가 크게 달라집니다. 서로 다른 작업 부하의 성능 특성을 비교할 필요는 없습니다. 재미있을 수는 있지만 유용한 결과를 얻지는 못합니다. 대신 동일한 작업 부하를 사용하여 가장 효과적인 하드웨어 및 소프트웨어 구성을 찾아 보십시오. AWS에서는 아주 쉽게 이 작업을 수행할 수 있습니다.