Office 365 Performance

A not so deep dive into what is happening behind the scenes when you view a page in SharePoint Online [Part 2]

This is the second of a three-part post where I present my take on what is happening behind the scenes when you view a page in SharePoint Online. Whilst the title describes the focus to be SharePoint Online, I do stray into other areas of Office 365 like Yammer and Exchange. In the first part I discussed the components that are needed to assemble a SharePoint page and how geography has effect. In this post, I focus upon the processes that make significant contributions to the performance of a SharePoint page.

Key influencers

Reviewing the data reveals that time to process an element has a greater influence on the performance of the page rather than the size of the page. For example, the typical file size of an image rendition, used say in a news article, is small, around 20Kb, but the time to process and serve it is long (typically 3s from request to receipt). Conversely the core SharePoint JavaScript file ‘O365ShellG2Plus.js’ is the largest single item, around 862Kb, though it is served very quickly in 0.87s. The speed to serve the file is a result of using the Content Delivery Network to provide the file from a location close to the person viewing the page. The rendition takes longer as it is served from the datacentre used by the Tenant.

Consumer vs Corporate

If your users are like our users, then they have performance expectations based on their personal devices and their own internet connections. These expectations are usually at odds to the performance they get when using a corporate device on a corporate network. This then puts Office 365 in a difficult position – they use it at home on their own iPad and it is blisteringly fast, they use it in the office on their corporate pc and it appears to be infuriatingly slow. You know that they are not comparing apples with apples but it’s a comparison that they’ll make so it needs to be managed as part of the adoption communications.

This can be illustrated using page load data. Ad hoc testing using a Corporate PC and a Consumer PC using the same user account, WiFi connection and similar build reveal a pronounced difference in payloads received:

page load 2

The analysis reveals two key differences:

  1. For the same page the downloads are much larger on the Corporate PC
  2. The download size differs by browser

Point 1 might be a quirk unique to us but I suspect we are not alone. The reason why, for the same page, that the downloads are much larger on the Corporate PC appears to be in how Internet Explorer 11 is handing JavaScript files. As mentioned earlier ‘O365ShellG2Plus.js’ is the largest single file at 862Kb. IE11 on a Corporate PC appears not to respect the compression applied to the file and so it downloads 862Kb. Chrome on the other hand on a Corporate PC respects the file compression and downloads the file in a compressed state and then inflates to 862kB when complete. The deflated file size transferred is 172Kb. IE11 on a non-Corporate PC also respects the compression and transfers 172Kb prior to inflation to 862Kb. Therefore, there must be something that is affecting IE11 – I suspect we have a setting enabled in IE that is not helping and if we’ve had need to set it then others have probably done the same.

I find the 2nd point a source of amusement – why does Chrome perform better than IE, surely Internet Explorer should be better as it’s a Microsoft product just like Office 365? It’s a question that I cannot answer. I cannot help but chuckle that when I visit our Developers and the likes of Yammer, it’s Chrome that I see on their screens but they are developing for Office 365… I’m hoping that Microsoft’s Edge browser will be a vast improvement.

Stay tuned!

My summary from the first post was that we can only influence the Page Content as the reminder is controlled by Microsoft. However, we can make improvements through understanding where the content is served from. These improvements should optimise access to and transmission of content from the local touch points of the Microsoft Content Delivery Network as well as from the datacentre that is hosting the tenant.

In this post focussed on the consumer vs corporate user experience as well differences between web browsers. Each one has a major influence on performance or the expectations around performance.

In the final part I will focus upon design choices used in SharePoint Online and in particular one that makes a significant negative contribution to the performance of a SharePoint page. The impact of its contribution may affect your design choices say when creating an Intranet in Office 365.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: