Power BI 임베디드 분석의 더 빠른 성능을 위한 모범 사례
이 문서에서는 애플리케이션의 보고서, 대시보드 및 타일을 더 빠르게 렌더링하기 위한 추천 사항을 제공합니다.
참고 항목
로드 시간은 주로 시각적 개체, 데이터 크기, 쿼리 및 측정값의 복잡성을 비롯한 보고서 및 데이터 자체와 관련된 요소에 따라 달라집니다. 자세한 내용은 Power BI 최적화 가이드를 참조하세요.
도구 및 SDK 패키지 업데이트
도구 및 SDK 패키지를 최신 상태로 유지합니다.
- 최신 버전 Power BI Desktop 사용
- 최신 버전의 Power BI 클라이언트 SDK를 설치합니다. 향상된 새로운 기능을 계속 릴리스하고 있으므로 수시로 후속 조치를 수행해야 합니다.
- 최신 버전 테이블 형식 편집기 사용
포함 초기화
미리 로드
최종 사용자 성능을 높이려면 powerbi.preload()
를 사용합니다. powerbi.preload()
메서드는 나중에 보고서를 포함하는 데 사용되는 JavaScript, CSS 파일, 기타 항목을 다운로드합니다.
보고서를 즉시 포함하지 않을 경우 powerbi.preload()
를 호출합니다. 예를 들어, 임베디드 Power BI 콘텐츠가 홈페이지에 나타나지 않는 경우, powerbi.preload()
를 사용하여 콘텐츠 포함을 위해 사용되는 항목을 다운로드하고 캐시합니다.
iFrame 부트스트랩
참고 항목
iFrame을 부트스트랩하려면 Power BI 클라이언트 SDK 버전 2.9가 필요합니다.
powerbi.bootstrap(element, config)
를 사용하면 모든 필수 매개 변수를 사용할 수 있기 전에 포함을 시작할 수 있습니다. 부트스트랩 API는 iFrame을 준비하고 초기화합니다.
부트스트랩 API를 사용할 때도 동일한 HTML 요소에 대해 powerbi.embed(element, config)
를 호출해야 합니다.
예를 들어 이 기능의 사용 사례 중 하나는 iFrame 부트스트랩과 포함을 위한 백 엔드 호출을 병렬로 실행하는 것입니다.
팁
최종 사용자에게 표시되기 전에 부트스트랩 API를 사용하여 iFrame을 생성합니다.
보고서 또는 기타 Power BI 항목을 포함할 때 포함된 컨테이너가 DOM의 일부이고 표시 CSS 특성이 예기치 않은 동작을 일으킬 수 있으므로 none으로 설정되지 않았는지 확인합니다. 포함된 컨테이너를 숨기려면 표시 유형 CSS 특성을 사용하는 것이 좋습니다.
포함 매개 변수
powerbi.embed(element, config)
메서드는 요소 및 구성 매개 변수를 받습니다. 구성 매개 변수는 성능에 영향을 주는 필드를 포함합니다.
포함 URL
직접 포함 URL을 생성하지 마세요. 대신, 보고서 가져오기, 대시보드 가져오기 또는 타일 가져오기 API를 호출하여 포함 URL을 가져옵니다. URL의 config 매개 변수는 성능 개선에 사용됩니다.
사용 권한
편집 모드에 보고서를 포함하지 않으려면 보기 권한을 제공합니다. 이렇게 하면 편집 모드에서만 사용되는 구성 요소를 초기화하는 데 시간이 소요되지 않습니다.
필터, 책갈피 및 슬라이서
일반적으로 보고서 시각적 개체는 캐시된 데이터와 함께 저장됩니다. 쿼리가 실행되는 동안 보고서에서 캐시된 데이터를 렌더링합니다. 필터, 책갈피 또는 슬라이서가 제공되는 경우 캐시된 데이터는 사용되지 않으며 시각적 쿼리가 종료된 후에만 시각적 개체가 렌더링됩니다.
같은 필터, 책갈피, 슬라이서를 사용하여 보고서를 포함하는 경우 이미 적용된 필터, 책갈피, 슬라이서를 사용하여 보고서를 저장합니다. 이러한 방식으로 보고서를 저장하면 필터, 책갈피, 슬라이서를 포함하는 캐시된 데이터를 사용하여 렌더링하므로 성능이 개선됩니다.
보고서 간 전환
같은 공간에 여러 보고서를 포함하는 경우 각 보고서에 대해 새 iFrame을 생성하지 마세요. 대신 새 보고서를 같은 iFrame에 포함하여 이전 보고서를 덮어씁니다. 다른 구성의 powerbi.embed(element, config)
를 사용하여 새 보고서를 포함합니다.
참고 항목
고객에 대한 콘텐츠 포함을 사용하여 보고서를 포함하려면(‘앱 소유 데이터’ 시나리오라고도 함) 모든 보고서 및 의미 체계 모델에 대한 권한이 있는 포함 토큰을 사용해야 합니다. 자세한 내용은 토큰 API 생성을 참조하세요.
여러 시각적 개체
같은 보고서의 여러 시각적 개체를 포함하는 경우 각 시각적 개체에 대해 새 iFrame을 생성하지 마세요. 단일 iFrame을 사용하여 지정된 시각적 개체로 보고서를 렌더링합니다.
여러 시각적 개체를 단일 iFrame에 포함할 때는 다음 포인트를 고려하세요.
Power BI는 iFrame을 사용하여 보고서를 포함합니다. 경우에 따라 시각적 개체 사이에 더 많은 콘텐츠(예: 보고서에서 제공되지 않는 텍스트 또는 그래픽)를 추가하려고 할 수 있습니다. 이 경우 서로 다른 시각적 개체를 렌더링하는 데 각기 다른 iFrame이 필요할 수 있습니다. 최상의 성능을 위해 가능한 가장 적은 수의 iFrame을 사용하도록 시각적 개체를 사용해 보고 정렬합니다. iFrame 수를 줄이려면 사용자 지정 레이아웃 기능을 사용하는 것이 좋습니다.
서로 다른 보고서 또는 서로 다른 의미 체계 모델의 시각적 개체가 있는 경우 같은 iFrame에 모든 시각적 개체를 포함할 수 있도록 의미 체계 모델을 조인하고 새 보고서를 만드는 것이 좋습니다.
인접하지 않은 지역 또는 여러 의미 체계 모델의 데이터가 있는 경우 또 다른 대안은 대시보드를 만들고 대시보드에 시각적 개체를 고정하는 것입니다. 따라서 다음과 같이 할 수 있습니다.
- 개별 타일을 인접하지 않은 iFrame에 포함합니다. 대시보드 타일은 보고서보다 가볍고 로드 속도가 빠릅니다.
- 전체 대시보드를 하나의 iFrame에 포함합니다. 이렇게 하면 새 보고서를 만들지 않고도 하나의 iFrame에 서로 다른 보고서 또는 의미 체계 모델의 시각적 개체를 사용할 수 있습니다.
그러나 대시보드 타일은 대화형이 아니며 시각적 개체와 같은 빈도로 새로 고쳐지지 않습니다.
쿼리 캐싱
Power BI Premium 용량 또는 Power BI Embedded 용량을 사용하는 조직은 쿼리 캐싱을 활용하여 의미 체계 모델과 관련된 보고서의 속도를 개선할 수 있습니다.
Power BI의 쿼리 캐싱에 대해 자세히 알아보세요.
성능 측정
성능 이벤트
포함된 성능을 측정하려면 다음 두 가지 이벤트를 사용할 수 있습니다.
- 로드된 이벤트: 보고서가 초기화될 때까지의 시간입니다(로드가 완료되면 Power BI 로고가 사라짐).
- 렌더링된 이벤트: 실제 데이터를 사용하여 보고서가 완전히 렌더링될 때 까지의 시간입니다. 보고서가 다시 렌더링될 때마다(예: 필터가 적용된 후) 렌더링됨 이벤트가 발생합니다. 보고서를 측정하려면 먼저 발생한 이벤트에서 계산을 수행해야 합니다.
캐시된 데이터는 사용 가능한 경우 렌더링되지만, 다른 이벤트는 생성되지 않습니다.
성능 분석기
보고서 요소의 성능을 검사하려면 Power BI Desktop에서 성능 분석기를 사용할 수 있습니다. 성능 분석기를 사용하여 각 보고서 요소가 수행하는 방식을 측정하는 로그를 보고 기록할 수 있습니다.
참고 항목
포함된 보고서 성능을 powerbi.com의 성능과 비교하는 것을 항상 기억하세요. 이렇게 하면 성능 문제를 파악하는 데 도움이 될 수 있습니다.