Is Your Corporate Network Hurting Power BI Report Performance?

Over the years I’ve seen a few examples of how issues with an organisation’s corporate network can affect Power BI report performance. I’ve never blogged about them because, to be honest, I know next to nothing about networks and I’m not sure I could describe them properly. However, recently, I have seen a few instances of what I think could be a widespread but little-diagnosed problem – so I would like you to check if it’s happening to you and tell me what the cause is, if you can find out.

Some time ago I wrote a post about how Power BI report performance could be worse in Internet Explorer 11 and older Windows operating systems because some report performance optimisations we do are only available with HTTP/2. You can read it here:

https://blog.crossjoin.co.uk/2020/03/23/power-bi-http-2-internet-explorer-11-and-older-versions-of-windows/

I hope you’re not still on Windows 8.1 or using IE11. Some traffic could still be being forced to use HTTP/1.1 though and this could have a big impact on report performance – in some cases making reports 5-10 seconds slower to render. How can you tell? You will need to use the Developer Tools available in Chrome and Edge. I blogged about how to use the Network tab in Developer Tools to measure Power BI report performance here:

https://blog.crossjoin.co.uk/2019/12/09/testing-performance-of-power-bi-reports-in-the-browser-part-2/

You will also need to make sure the Protocol column is visible by right-clicking in the central pane where the traffic is displayed:

Here’s an example of what you’ll see in the Network tab when the report renders and you have the problem:

There are two things to look out for:

  • In the Protocol column you’ll see the value “http/1.1” rather than “h2” for some events, most importantly the query events
  • You’ll see a long grey bar before the green bar in the Waterfall diagram for these events showing that the connection is stalled for several seconds

If possible you should compare the performance of running your report inside your corporate network and outside it, using the technique described in the blog post mentioned above to see how long the report takes to render in both cases. If the report is faster outside your corporate network, and you only see traffic being forced to use http/1.1 and connections stalled inside your corporate network, then you have a problem and need to talk to your networking team to find out what’s going on. I’ve heard ZScaler could be the culprit but I’m not sure, so if you do have this problem and do find out the cause and the solution, please leave a comment below.

4 thoughts on “Is Your Corporate Network Hurting Power BI Report Performance?

  1. Hey Chris,
    This issue came up within our organisation just last week. We were seeing that one of our online reporting solutions (in this case it wasn’t our Power BI solution) was running slow. On checking the network tab of dev tools I found that all traffic was coming through using HTTP/1.1 although I knew that HTTP/2 (h2) was supported. A quick call later to our Networking & Security guys and we had an exception put in place with ZScaler to whitelist the domains the service was using. We definitely saw an improvement in load times.
    One additional tip. Also add the “domain” column within the Network tab. From this you will be able to see what domain(s) the traffic is coming from and, from there you can add the necessary to a whitelist.

  2. Hello Chris,

    are you saying that every single item needs to be sent via http/2? We see parts (jpgs, some json being sent with http/2 while a lot of other stuff is using http/1 (.js, .css, querydata.xhr)

    Now i tested this locally on the BI server (running on Server 2016) in a browser (current Chrome) to exclude the network part of the equation because our BI guys now think we have a network issue and as usual the network guys have to prove otherwise.

    Due to the lack of documentation (or my unablility to find the correct one) of the PBI webserver i really need to know if you have a situation where you can say “everything” has to use http/2 or you know of a documentation that explains which parts do and which don´t.

    Also i don´t see a query.xhr as in your example above but only querydata.xhr in any report.

    Thank you in advance for a clarification on this. Much appreciated.

    Regards,
    Eike

    1. I guess it depends on your network but most traffic should be http/2. On the Microsoft network I estimate that 95% is. I also suspect that you seeing querydata events that go via http/1.1 is a sign of the unoptimised patterns I was talking about.

Leave a Reply