HTML Payload and SharePoint Performance

SharePoint web interface is essentially an ASP.NET application running on WFE servers. As is true for any other web application that larger the HTML payload sent to the browser, greater the amount of time it takes to travel over the wire and finally show. HTML payload depends upon the number of its constituent elements. For instance, like any other ASP.NET application, the size of View State may exceed tens of KBs owing to a large number of controls and widgets, thus becoming a performance bottleneck. Similarly, the extra overhead is introduced by multiple CSS and JavaScript files. So if this footprint could somehow be reduced, it will surely have a considerable impact on the overall SharePoint performance. Let us see how. 

  • View State is sent to the user’s browser to preserve this state across post-backs. For forms with lots of controls, View State can become quite large. The larger the ViewState size is the slower would be the response time for end user between each post back.
  • Similarly, CSS and JavaScript files are major contributors to the SharePoint HTML payload. Whenever a page is rendered, the browser issues separate GET calls for each JavaScript and CSS file. This can easily result into many extra calls to IIS and reduce SharePoint performance.

Optimize SharePoint Performance and Storage - Free Download

So how do we get performance boost? In-memory caching of BLOB payload  tells that caching might be the answer. Why not cache View State after all it is just another object. StorageEdge provides this out-of-the-box solution whereby it caches View State on WFE servers and sends a much smaller payload to the user’s browser containing only a unique ID for this View State. As a result, your page performance improves and SharePoint also scales much better. A snippet of resulting HTML is shown below:

[code lang="xml" toolbar="false"]
<input id="__NCPVIEWSTATE" type="hidden" name="__NCPVIEWSTATE"
value="vs:cf8c8d3927ad4c1a84da7f891bb89185" />
<input id="__VIEWSTATE" type="hidden" name="__VIEWSTATE" />


Figure 1: StorageEdge Caches View State and Sends an Identifier to the Client

Notice how the original “__VIEWSTATE” hidden field is preserved so everything works as if there was no View State. But, it has inserted its own “__NCPVIEWSTATE” field that it will read when a post-back request comes from the user to the web server. StorageEdge uses the “value” as the key to fetch the corresponding original View State from the in-memory cache and serves it to the ASP.NET page so it can populate the web form with data from the View State.

 Similarly, in case of CSS and Java Script, how about if you could reduce the number of files that form part of HTTP request. StorageEdge employs an intelligent technique called Minification which is a process in which StorageEdge reduces the size of all CSS and JavaScript files and merges them into one or two files. As a result, the web browser only makes one or two extra calls to IIS when requesting a SharePoint page. Thus, you can effectively reduce the number of HTTP requests a browser makes, reduce overall SharePoint HTML payload, and ultimately boost response time.

 So, StorageEdge is not simply an EBS/RBS provider or a BLOB management solution, it is a complete, end-to-end SharePoint management solution. Features such as the ones discussed above take care of all your SharePoint performance needs.

Download StorageEdge | StorageEdge Details

This entry was posted in SharePoint HTML Payload, SharePoint Performance and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


2 × = ten

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>