Hello All,
Since last three months we were working on performance activity for projet that i mentioned in last post. We are using Sharepoint 2010, Commerce Server 2009, BizTalk and one third part tool as backend.
Following is typeical architecure of project
Web Front End (Sharepoint + Commerce Server...i don't know why this combination has been used...i was very late in this project)
Middle Tier (BizTalk...it just does transformation...no business logic)
Backend (third party tool...cannot reveal info for this)
Client requirement is that page should get loaded within 1 second but it is just impossible because three different parties involved with latest technlogies and each has its own advantages and disadvantages. We were resonsible for WFE part. Client was expecting below 1 second response time for WFE. I conveyed lot of time to client that it may not possible for all pages that we are working on because of dynamic rendereing of page content (all control, business rules, css, js etc). We tried a lot to achieve 1 second response time. Basically following are some activities we conducted
1. SPDisposal Check - Every sharepoint application should use SPDisposal check tool to ensure that objects are getting closed propertly and there is no memory leak problem.
2. Blob Cache - Enable Blob cache in sharepoint for images, css, js files so that all impages, css and js files gets fetched from disk rather SQL always. It is just one line entry in web.config to enable blob cache.
3. Cache Management - This one of the major performance improvement factor that every application should implement cache to its best. Earlier, we were caching just data not activities. Later, we have done cache of activities e.g. apart from caching xml content, cache entire activities that required to render controls or bind data so that xml parsing require only once and not always.
4. Disble ViewState - Disabled viewstate of page, wherever required. I persoally disabled viewstate of page first time :-)
5. Postback Handling - In Dynamic rendering requirement, need to handle postback very carefully, i mean entire page should not get rendered on each postback. Page should get re-rendered on postback only if user need to stay back on page(may in case of business error ). I am very happy that i could implement this successfully and it helped a lot improve application performance.
I will update these points again, i hope that these will help me and some other in future.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment