Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

We are running on SSL on following server topology: - 1 ISA (SSL Terminate/cache/proxy+AD authentication) - 1 Sharepoint - 1 IBM DB2 Database - enterprise/corporate DB - 1 MS SQL Server - local DB

We have recently optimized the caching, compression, minification, and other ASP.net best practices such as viewstate and cookie sizes, minimizing round trips, parallel connections/domain sharding and a lot more....

Now we are not convinced that the we are in an optimized position as the network resources i.e. bandwidth and especially latency are out of our control!!

The client/browser to server/sharepoint is trans-Atlantic i.e. (ASIA, USA, EUROPE).

As of my understanding the only ways to improve the network (latency) are: - TCP/SSL optimization - hardware/software? - CDNs - cloud or our own ?

Your opinion and insights would be much appreciated Best regards Hertzel

share|improve this question
add comment

2 Answers

Have you done anything specificly for SharePoint performance optimization?

Object cache

In SharePoint you should adjust the object and output cache. During stress load your \SharePoint Publishing Cache\Cache hit ratio should preferably be above 90%

For object cache default is 100 mb. Adjust it up in 100 mb increments while measuring hit ratio and at the same time measure \SharePoint Publishing Cache\object discard rate is low and that response time for users isnt raising (\ASP.NET Apps v2.0.50727()\Request Execution Time and \ASP.NET Apps v2.0.50727()\Requests/Sec).

Output cache

If you are having both anonyous users and user sessions this requires different cache profiles. Some of the OOB cache profiles are not very effective. Use VaryByCustom(rights) or roll your own handler and set it up per Layout Page.

More on custom handlers.

Also consider enabling the BLOB cache. Its not perfect by any standards, and it has given me alot of grief across WFE with corrupted files, but when it works it will definately speed up your site. A thing to look out for here are to set the MaxAge property on the output cache element to avoid unneccessary traffic between client and server (304's).

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled="True"/>

More info here.

More info on caching.

If you got loads of custom code make sure your developers cache expensive operations or the HTML output of your web parts using HttpRuntime cache and make sure they handle cache insertion in a single threaded fashion (lock(myObject)) to avoid redundant cache entries.

In general check out the foot-print of your page. Are HTML optimized, are images and scripts optimized? Consider if some of the content on a page could be loaded asyncronously using AJAX/jQuery.

Hope this is what you needed, else feel free to ask.

share|improve this answer
    
Excellent insight Andres. I agree that someone needs to be very careful for BLOB cache usage. –  Namwar Rizvi Sep 14 '10 at 10:30
add comment

sometimes large blob cache will reduce your performance rather helping with heavy loads. Blob cache index are written to hard drive periodically and before recycle. When this serialization is progress, it will affect the time taken to serve the client request.

It is even more devastating when app pool recycle corrupt indexes and files are no longer being fetched from blob cache ; this happens generally because – if timeout for recycle is lower than time taken to save the indexes on disk

Ref: Best practices for Blob cache

share|improve this answer
    
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. –  Robert Lindgren Jun 19 '13 at 6:23
    
Yes, rather than just a link to your blog; we require disclosure of any affiliation with products or websites. Please see May I promote products or websites I am affiliated with here? for guidelines. –  SPDoctor Jun 19 '13 at 7:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.