다음을 통해 공유


Power BI Report Server에 대한 용량 계획 지침

Power BI Report Server는 고객이 방화벽 뒤에 온-프레미스에 배포할 수 있는 셀프 서비스 BI 및 엔터프라이즈 보고 솔루션입니다. Power BI Desktop의 대화형 보고서 기능을 SQL Server Reporting Services의 온-프레미스 서버 플랫폼과 결합합니다. 기업 내에서 분석 및 보고의 사용량이 많고 증가함에 따라 엔터프라이즈 사용자 기반으로 확장하는 데 필요한 하드웨어 인프라 및 소프트웨어 라이선스의 예산을 책정하는 것은 어려울 수 있습니다. 이 문서는 보고서 서버에 대한 다양한 워크로드의 다양한 부하 테스트 실행 결과를 공유하여 Power BI 보고서 서버의 용량 계획에 대한 지침을 제공하려고 합니다. 조직의 보고서, 쿼리 및 사용 패턴은 매우 다양하지만 이 문서에 제시된 결과와 사용된 실제 테스트 및 실행 방법에 대한 자세한 설명은 Power BI Report Server 배포 초기 단계 계획 프로세스의 모든 사용자를 위한 참조 지점 역할을 합니다.

요약

Power BI Report Server에 대해 두 가지 유형의 워크로드를 실행했습니다. 각 워크로드는 다양한 유형의 보고서를 렌더링하고 다양한 웹 포털 작업을 수행하는 것으로 구성되었습니다.

  • "Power BI Report Heavy" 워크로드에서 가장 자주 실행되는 작업(즉, 60시간% 실행된 작업)이 Power BI 보고서를 렌더링하고 있었습니다.
  • "페이지를 매긴 보고서 중량" 워크로드에서 가장 자주 실행되는 작업은 페이지를 매긴 보고서를 렌더링하는 것이었습니다.

Power BI Report Server의 4개 서버 토폴로지와 한 번에 5% 이상의 사용자가 보고서 서버에 액세스할 것이라는 기대에 따라 다음 표에서는 Power BI Report Server가 최소 99개의% 안정성으로 처리할 수 있는 최대 사용자 수를 설명합니다.

업무량 8 코어/32GB RAM 16 코어/64GB RAM
Power BI Report Heavy (>60%) 사용자 1,000명 3,000명의 사용자
페이지가 매겨진(RDL) Report Heavy (>60%) 2,000명의 사용자 3,200명의 사용자

각 실행에서 가장 과부하가 많은 리소스는 CPU였습니다. 이로 인해 Power BI Report Server에 대한 코어 수를 늘리면 메모리 또는 하드 디스크 공간의 양을 늘리는 것보다 시스템의 안정성이 향상됩니다.

테스트 방법론

사용된 테스트 토폴로지에서는 공급업체별 물리적 하드웨어 대신 Microsoft Azure Virtual Machines를 기반으로 했습니다. 모든 컴퓨터는 미국 지역에서 호스트되었습니다. 이는 온-프레미스 및 퍼블릭 클라우드 모두에서 하드웨어 가상화의 일반적인 추세를 반영합니다.

Power BI Report Server 토폴로지

Power BI Report Server 배포는 다음 가상 머신으로 구성됩니다.

  • Active Directory 도메인 컨트롤러: 모든 요청을 안전하게 인증하려면 SQL Server 데이터베이스 엔진, SQL Server Analysis Services 및 Power BI Report Server에서 필요했습니다.
  • SQL Server 데이터베이스 엔진 및 SQL Server Analysis Services: 보고서를 렌더링할 때 사용할 모든 데이터베이스를 저장했습니다.
  • Power BI 보고서 서버
  • Power BI Report Server 데이터베이스. 보고서 서버 데이터베이스는 메모리, CPU, 네트워크 및 디스크 리소스에 대해 SQL Server 데이터베이스 엔진과 경쟁할 필요가 없도록 Power BI Report Server와 다른 컴퓨터에서 호스트됩니다.

Power BI Report Server, Active Directory 및 연결된 데이터베이스 간의 관계 다이어그램을 보여 주는 스크린샷

토폴로지에서 사용되는 각 가상 머신의 철저한 구성은 부록 1.1 Power BI Report Server 토폴로지 및 부록 1.2 Power BI Report Server Virtual Machine 구성을 참조하세요.

테스트

부하 테스트 실행에 사용되는 테스트는 Reporting Services LoadTest라는 GitHub 프로젝트에서 공개적으로 사용할 수 있습니다. 이 도구를 사용하면 사용자가 SQL Server Reporting Services 및 Power BI Report Server의 성능, 안정성, 확장성 및 복구 가능성 특성을 연구할 수 있습니다. 이 프로젝트는 4개의 테스트 사례 그룹으로 구성됩니다.

  • Power BI 보고서 렌더링 시뮬레이트 테스트
  • 모바일 보고서 렌더링 시뮬레이트 테스트
  • 작고 큰 페이지가 매겨진 보고서의 렌더링을 시뮬레이션하는 테스트
  • 다양한 유형의 웹 포털 작업을 수행하는 시뮬레이션을 테스트합니다.

모든 테스트는 엔드 투 엔드 작업(예: 보고서 렌더링, 새 데이터 원본 만들기 등)을 수행하기 위해 작성되었습니다. API를 통해 보고서 서버에 하나 이상의 웹 요청을 수행하여 이 작업을 수행합니다. 실제 환경에서 사용자는 이러한 엔드 투 엔드 작업 중 하나를 완료하기 위해 몇 가지 중간 작업을 수행해야 할 수 있습니다. 예를 들어 사용자가 웹 포털로 이동해야 하는 보고서를 렌더링하려면 보고서가 있는 폴더로 이동한 다음 보고서를 클릭하여 렌더링합니다. 테스트는 엔드투엔드 작업을 수행하는 데 필요한 모든 작업을 수행하지는 않지만 여전히 Power BI Report Server에서 경험하게 될 부하의 대부분을 적용합니다. 사용되는 다양한 유형의 보고서와 GitHub 프로젝트를 탐색하여 수행하는 다양한 작업에 대해 자세히 알아볼 수 있습니다.

비고

이 도구는 Microsoft에서 공식적으로 지원되지 않지만 제품 팀은 프로젝트에 기여하고 다른 기여자가 제기한 문제에 답변합니다.

Workloads

테스트에 사용되는 워크로드 프로필에는 Power BI Report Heavy 및 페이지를 매긴 보고서 헤비라는 두 가지 워크로드 프로필이 있습니다. 아래 표에서는 보고서 서버에 대해 실행된 요청의 배포에 대해 설명합니다.

Activity Power BI Report Heavy, 발생 빈도 페이지화된 보고서 빈도, 발생 횟수
Power BI 보고서 렌더링 60% 10%
페이징된 렌더링(RDL) 보고서 30% 60%
모바일 보고서 렌더링 5% 20%
웹 포털 작업 5% 10%

사용자 부하

각 테스트 실행에 대해 두 워크로드 중 하나에 지정된 빈도에 따라 테스트가 실행되었습니다. 테스트는 보고서 서버에 대한 20개의 동시 사용자 요청으로 시작되었습니다. 그런 다음 안정성이 99개% 목표 아래로 떨어질 때까지 사용자 부하가 점진적으로 증가했습니다.

Results

동시 사용자 용량

앞에서 설명한 대로 20명의 동시 사용자가 보고서 서버에 요청을 하는 테스트를 시작했습니다. 그런 다음 모든 요청의% 실패할 때까지 동시 사용자 수가 점차 증가했습니다. 다음 표의 결과는 서버가 최대 부하 상태에서 처리할 수 있는 동시 사용자 요청 수를 알려 주며 실패율은 1%미만입니다.

업무량 8코어/32GB 16 코어/64GB
Power BI 리포트 중량급 동시 사용자 50명 동시 사용자 150명
페이지를 매긴 보고서 중량 동시 사용자 100명 동시 사용자 160명

총 사용자 용량

Microsoft에는 여러 팀이 사용한 Power BI Report Server의 프로덕션 배포가 있습니다. 이 환경의 실제 사용량을 분석할 때는 지정된 시간(일일 최대 부하 중에도)의 동시 사용자 수가 전체 사용자 기반의 5%를 초과하지 않는 경향이 있음을 확인합니다. 이 5% 동시성 비율을 벤치마크로 사용하여 Power BI Report Server가 99% 신뢰성으로 처리할 수 있는 총 사용자 기반을 추론했습니다.

업무량 8코어/32GB 16 코어/64GB
Power BI 리포트 중량급 사용자 1,000명 3,000명의 사용자
페이지를 매긴 보고서 중량 2,000명의 사용자 3,200명의 사용자

요약

각 부하 테스트 실행에서 CPU는 Power BI Report Server 컴퓨터의 최대 부하 지점에서 가장 많은 리소스를 차지했습니다. 이 때문에 증가해야 하는 첫 번째 리소스는 코어 수입니다. 또는 토폴로지에서 Power BI Report Server를 호스팅하는 서버를 더 추가하여 스케일 아웃을 고려할 수 있습니다.

이 문서에서 제시된 결과는 특정 데이터 집합을 사용하는 특정 보고서 집합을 특정 방식으로 반복하여 실행한 결과에서 파생되었습니다. 유용한 참조 지점이지만 사용량은 Power BI Report Server의 보고서, 쿼리, 사용 패턴 및 배포에 따라 달라집니다.

부록

1 토폴로지

1.1 Power BI Report Server 토폴로지

다른 구성에서 Power BI Report Server 동작에만 집중하기 위해 각 컴퓨터 유형(Power BI Report Server를 호스팅하는 컴퓨터 제외)에 대한 VM 구성이 수정되었습니다. 각 컴퓨터는 Premium Storage 디스크가 있는 2세대(v2) D 시리즈 컴퓨터에 따라 프로비전되었습니다. "범용" 섹션에서 각 VM 크기에 대한 자세한 정보를 찾을 수 있습니다.

Virtual Machine 유형 프로세서 Memory Azure VM 크기
Active Directory 도메인 컨트롤러 코어 2개 7GB Standard_DS2_v2
SQL Server 데이터베이스 엔진 및 분석 서비스 코어 16개 56GB Standard_DS5_v2
보고서 서버 데이터베이스 코어 16개 56GB Standard_DS5_v2

1.2 Power BI Report Server Virtual Machine 구성

Power BI Report Server를 호스팅하는 Virtual Machine에 프로세서 및 메모리의 다양한 구성이 사용되었습니다. 다른 VM과 달리 이 컴퓨터는 Premium Storage 디스크가 있는 3세대(v3) D 시리즈 컴퓨터에 따라 프로비전되었습니다. "범용" 섹션에서 이 VM 크기에 대한 자세한 정보를 찾을 수 있습니다.

가상 머신 프로세서 Memory Azure VM 크기
Power BI Report Server(Small) 8코어 32GB Standard_D8S_v3
Power BI Report Server(Large) 코어 16개 64GB vStandard_D16S_v3

2 LoadTest 도구 실행

Power BI Report Server의 사용자 또는 Microsoft Azure 배포에 대해 Reporting Services LoadTest 도구를 실행하려면 다음 단계를 수행합니다.

  1. GitHub(https://github.com/Microsoft/Reporting-Services-LoadTest)에서 Reporting Services LoadTest 프로젝트를 복제합니다.
  2. 프로젝트 디렉터리에서 RSLoadTests.sln 솔루션 파일을 찾습니다. Visual Studio 2015 이상에서 이 파일을 엽니다.
  3. Power BI Report Server 배포에 대해 또는 Microsoft Azure의 Power BI Report Server 배포에 대해 이 도구를 실행할지 여부를 결정합니다. 자체 배포에 대해 실행하려는 경우 5단계로 이동합니다.
  4. 나열된 지침에 https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure 따라 Azure에서 Power BI Report Server 환경을 만듭니다.
  5. 환경 배포가 완료되면 나열된 지침에 https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution 따라 테스트를 실행합니다.

더 많은 질문? Power BI 커뮤니티에 문의해 보세요.