Forum Discussion

jnjAnil's avatar
jnjAnil
New Member
10 months ago
Solved

Power bi load testing on the services

I want to test what happens if 50 concurrent users access my Power BI dashboard on the service. Currently, I’m using F64 capacity with an import mode data model. I’d like to check whether this setup ...
  • anilgavhane's avatar
    10 months ago

    To test how your Power BI dashboard performs under 50 concurrent users using PowerShell and Git, you’ll need to simulate load and monitor performance. Here's a step-by-step guide to help you set it up:

     

    Prerequisites

    1. Power BI Load Testing Tool
      Microsoft provides a Power BI load testing tool on GitHub that uses PowerShell to simulate concurrent users.
    2. Git Installed
      So you can clone the repository.
    3. PowerShell 5.0+
      Required to run the scripts.
    4. Power BI Premium Capacity (F64)
      Ensure your dashboard is published to a workspace backed by F64 capacity.

     

    Step-by-Step Setup

    1. Clone the GitHub Repository

     

    git clone https://github.com/microsoft/powerbi-load-generator.git cd powerbi-load-generator

     

    2. Install Required Modules

     

    Install-Module -Name MicrosoftPowerBIMgmt -Scope CurrentUser

     

    3. Authenticate to Power BI

     

    Login-PowerBI

     

    4. Configure the Test Parameters

    Edit the config.json file in the repo to define:

    • Report ID
    • Workspace ID
    • Number of users (set to 50)
    • Duration
    • Refresh interval

    Example snippet:

     

    { "reportId": "your-report-id", "workspaceId": "your-workspace-id", "numberOfUsers": 50, "durationInMinutes": 10, "refreshIntervalInSeconds": 30 }

     

    5. Run the Load Test

     

    .\Start-LoadTest.ps1 -ConfigFilePath ".\config.json"

     

    This will simulate 50 users accessing the report and log performance metrics.

     

    What to Monitor

    • CPU and memory usage in the Power BI Premium Capacity Metrics app
    • Query duration
    • Visual load time
    • Throttling or failures