Power BI Embedded 성능에 대한 모범 사례Power BI Embedded performance best practices

이 문서에서는 애플리케이션의 보고서, 대시보드 및 타일을 더 빠르게 렌더링하기 위한 추천 사항을 제공합니다.This article provides recommendations for faster rendering of reports, dashboards, and tiles in your application.

참고

로드 시간은 주로 시각적 개체, 데이터 크기, 쿼리 및 계산된 측정값의 복잡성을 포함하여 보고서 및 데이터 자체와 관련된 요소에 따라 달라집니다.Remember that loading time mainly depends on elements relevant to the report and data itself, including visuals, the size of the data, and the complexity of the queries and calculated measures. 자세한 내용은 Power BI 최적화 가이드를 참조하세요.For more information, see the Power BI optimization guide.

도구 및 SDK 패키지 업데이트Update tools and SDK packages

도구 및 SDK 패키지를 최신 상태로 유지합니다.Keep tools and SDK packages up-to-date.

  • 항상 최신 버전의 Power BI Desktop을 사용합니다.Always use the latest version of Power BI Desktop.

  • 최신 버전의 Power BI 클라이언트 SDK를 설치합니다.Install the latest version of the Power BI client SDK. 향상된 추가 기능을 계속 릴리스하고 있으므로 수시로 후속 조치를 수행해야 합니다.We continuously release additional enhancements, so make sure to follow up from time to time.

포함 매개 변수Embed parameters

powerbi.embed(element, config) 메서드는 요소와 구성을 받습니다. 구성 매개 변수는 성능에 영향을 주는 필드를 포함합니다.The powerbi.embed(element, config) method receives an element and a config. The config parameter includes fields that have performance implications.

포함 URLEmbed URL

포함 URL은 직접 생성하지 마세요.Avoid generating the embed URL yourself. 대신, 보고서 가져오기, 대시보드 가져오기 또는 타일 가져오기 API를 호출하여 포함 URL을 가져옵니다.Instead, make sure you get the Embed URL by calling Get reports, Get dashboards, or Get tiles API. URL에 config 라는 새 매개 변수를 추가하여 성능을 향상시켰습니다.We added a new parameter to the URL called config, which is used for performance improvements.

권한Permissions

편집 모드에 보고서를 포함시키지 않으려면 보기 권한을 제공합니다.Provide View permissions if you're not intending to embed a report in edit mode. 이렇게 하면 포함된 코드에서 편집 모드에 사용되는 구성 요소를 초기화하지 않습니다.This way, embedded code doesn't initialize components, which are used in edit mode.

필터, 책갈피 및 슬라이서Filters, bookmarks, and slicers

일반적으로 보고서 시각적 개체는 캐시된 데이터와 함께 저장됩니다.Usually, report visuals are saved with cached data. 캐시된 데이터는 인식된 성능을 제공하는 데 사용됩니다.The cached data is used to give perceived performance. 쿼리가 실행되는 동안 보고서에서 캐시된 데이터를 렌더링합니다.Reports render cached data while queries are executed. 필터, 책갈피 또는 슬라이서가 제공되는 경우 캐시된 데이터는 관련이 없으며 시각적 쿼리가 종료된 후에만 시각적 개체가 렌더링됩니다.If filters, bookmarks, or slicers are provided, cached data isn't relevant and the visuals are rendered only after the visual query has ended.

동일한 필터, 책갈피 및 슬라이서를 사용하여 보고서를 포함하는 경우 성능을 향상시키려면 이미 적용된 필터, 책갈피 및 슬라이서를 사용하여 보고서를 저장합니다.If you embed reports with the same filters, bookmarks, and slicers, to improve your performance, save the report with the filters, bookmarks, and slicers already applied. 그러면 필터, 책갈피 및 슬라이서를 포함하는 캐시된 데이터로 보고서가 렌더링됩니다.This renders the report with the cached data which includes the filters, bookmarks, and slicers.

보고서 간 전환Switching between reports

동일한 iframe에 여러 보고서를 포함하는 경우 각 보고서에 대해 새 iframe을 생성하지 마세요.When embedding multiple reports to the same iframe, don't generate a new iframe for each report. 대신, 새 보고서를 포함하는 다른 구성의 powerbi.embed(element, config)를 사용합니다.Instead, use powerbi.embed(element, config) with a different config to embed the new report.

참고

'앱 소유 데이터' 시나리오에 대한 보고서 간 전환은 새 포함 토큰을 생성하는 데 필요하기 때문에 매우 효과적일 수 있습니다.Switching between reports for an 'App owns data' scenario might not be very effective due to the necessity of generating a new embed token.

쿼리 캐싱Query caching

Power BI Premium 용량 또는 Power BI Embedded 용량을 사용하는 조직은 쿼리 캐싱을 활용하여 데이터 세트와 관련된 보고서의 속도를 개선할 수 있습니다.Organizations with Power BI Premium capacity or Power BI Embedded capacity can take advantage of query caching to speed up reports associated with a dataset.

Power BI의 쿼리 캐싱에 대해 자세히 알아보세요.Learn more about query caching in Power BI.

미리 로드Preload

최종 사용자 성능을 높이려면 powerbi.preload()를 사용합니다.Use powerbi.preload() to improve the end-user performance. powerbi.preload() 메서드는 나중에 보고서를 포함하는 데 사용되는 JavaScript, CSS 파일 및 기타 아티팩트를 다운로드합니다.The method powerbi.preload() downloads javascript, css files, and other artifacts, which are used later to embed a report.

보고서를 즉시 포함하지 않을 경우 powerbi.preload()를 호출합니다.Call powerbi.preload() if you're not embedding the report immediately. 예를 들어, Power BI Embedded 콘텐츠가 홈페이지에 나타나지 않는 경우, powerbi.preload()를 사용하여 콘텐츠 포함을 위해 사용되는 아티팩트를 다운로드하고 캐시합니다.For example, if the Power BI embedded content doesn't appear in the home page, use powerbi.preload() to download and cache the artifacts that are used for embedding the content.

Iframe 부트스트래핑Bootstrapping the iframe

참고

iframe을 부트스트래핑하려면 Power BI client SDK 버전 2.9가 필요합니다.Power BI client SDK version 2.9 is required to bootstrap the iframe.

powerbi.bootstrap(element, config)를 사용하면 모든 필수 매개 변수를 사용할 수 있기 전에 포함을 시작할 수 있습니다.powerbi.bootstrap(element, config) allows you to start embedding before all required parameters are available. 부트스트랩 API는 iframe을 준비하고 초기화합니다.The bootstrap API prepares and initializes the iframe. 부트스트랩 API를 사용할 때도 동일한 HTML 요소에 대해 powerbi.embed(element, config)를 호출해야 합니다.When using the bootstrap API, it's still required to call powerbi.embed(element, config) on the same HTML element.

예를 들어, 이 기능의 사용 사례 중 하나는 iframe 부트스트랩과, 포함을 위한 백 엔드 호출을 병렬로 실행하는 것입니다.For example, one of the use cases for this feature, is to run the iframe bootstrap and the back-end calls for embedding, in parallel.

iframe이 최종 사용자에게 표시되기 전에 이를 생성하는 것이 가능한 경우 부트스트랩 API를 사용하세요.Use the bootstrap API when it's possible to generate the iframe before it's visible to the end user.

iframe 부트스트랩에 대해 자세히 알아보세요.Learn more about iframe bootstrap.

성능 측정Measure performance

성능 이벤트Performance events

포함된 성능을 측정하려면 다음 두 가지 이벤트를 사용할 수 있습니다.To measure embedded performance, you may use two events:

  1. 로드 이벤트: 보고서가 초기화될 때까지의 시간입니다(로드가 완료되면 Power BI 로고가 사라짐).Loaded event: The time until the report is initialized (the Power BI logo will disappear when the load is finished).
  2. 렌더링 이벤트: 실제 데이터를 사용하여 보고서가 완전히 렌더링될 때 까지의 시간입니다.Rendered event: The time until the report is fully rendered, using the actual data. 보고서가 다시 렌더링될 때마다(예: 필터가 적용된 후) 렌더링됨 이벤트가 발생합니다.The rendered event is fired each time the report is re-rendered (for example, after applying filters). 보고서를 측정하려면 먼저 발생한 이벤트에서 계산을 수행해야 합니다.To measure a report, make sure you do the calculations on the first raised event.

캐시된 데이터는 사용 가능한 경우 렌더링되지만 추가 이벤트는 생성되지 않습니다.Cached data is rendered when available but no additional event is generated.

이벤트 처리에 대해 자세히 알아보세요.Learn more about event handling.

성능 분석기Performance Analyzer

보고서 요소의 성능을 검사하려면 Power BI Desktop에서 성능 분석기를 사용할 수 있습니다.To examine the performance of the report elements, you might use the Performance Analyzer in Power BI Desktop. 성능 분석기를 사용하여 각 보고서 요소가 수행하는 방식을 측정하는 로그를 보고 기록할 수 있습니다.The Performance Analyzer will allow you to see and record logs that measure how each of your report elements performs.

성능 분석기에 대해 자세히 알아보세요.Learn more about Performance Analyzer.

참고

포함된 보고서 성능을 powerbi.com의 성능과 비교하는 것을 항상 기억하세요.Always remember to compare the embedded report performance to the performance on powerbi.com. 이렇게 하면 성능 문제를 파악하는 데 도움이 될 수 있습니다.This might help you understand the origin of your performance issues

다음 단계Next steps