Apr 21, 2010

SharePoint Performance Tuning

To improve SharePoint Performance, as a site or collection or farm administrator you can:
  • Enable Output and Page Caching from Site Admin Page.
  • Turn on Http compression and Content Expiration at IIS Level (Browser Caching and content compression)
  • Turn on Blob Caching on all WFE Servers, In web.config (look for blobcache and make it true)
    • < BlobCache location="C:\blobcache" path="\.(gif¦jpg¦png¦css¦js)$ " maxSize="10" enabled="true" />
  • Use Warmup script
  • Use SharePoint Dispose Check utility for memory leak
  • Can use Ant profiler for memory issues or to find out memory bottlenecks.
  • Hardware in the farm                   
    • 32 bit vs 64 bit, what is the server memory metrics. Use 64 bit if the memory consumption is more then 50% and you have hit the 4 GB limit on the 32 bit operating system.
  • Load test via Visual Studio Team Suite or link
  • Collect server metrics using perfmon
  • Look for the Network Contention (most common),
    •  network in the farm (NIC card, etc)
    •  network bandwidth between the farm and client
  • Best Development and Coding Practices to avoid slow performance (i.e. performance degradation)
    • Custom Code (Object Model)
    • SharePoint Farm (Architecture / Hardware / Software)
  • Use SQL Profiler to determine if database is the bottleneck

          Apr 19, 2010

          SharePoint Slow Performance and Warmup script (Object Model or WebRequest)

          SharePoint Sites are slow, duh!

          Well, we need to resolve the bottleneck ...

          If sharepoint site is slow always? follow the link

          OR

          If the sharepoint site is slow only during the wee hours or certain time of a day?

          Do the following:

          * Recylce appliction pool on Web Front End Servers at different time of the day and just before peak hours.

          * Object Model vs Web Request, what to use in the warmup script?

                - Object Model can be used when you don't know your highly accessed page and the new sites are created or deleted frequently i.e. configurtion files does require frequent changes. warmup script link

                - Web Request does not enumerate sites automatically in the farm and you need to add the url's of highly accessed page explicity. In other words, if you create new site; add the url manually to the configuration file. warmup script link

          * From the warmup script access frequently accessed page, so that it's cached after application pool recycle.

          UPDATE: customized pages are parsed (by IIS) using no-compile mode, so accessing the unghosted pages won't help much
                            highly accessed pages should be deployed as ghosted pages onto the sharepoint if performance matters
          * Check IIS configuration, it might be recycling the application pool automtically based on the size of worker process


          Related Topic:
                                        SharePoint Workflow and Warmup Scripts

          Apr 12, 2010

          What to do when Ouput Caching, Page Caching does not improve performance (SharePoint)?

          What to do when Ouput Caching, Page Caching does not improve performance (SharePoint)?

          Points to ponder:

          • how the site was created 
          • when you enabled the publishing infrastructrue
          • when the site or page was created before or after enabling publishing infrastructrue
          Have an existing Site based on a template other then Publishing Template and you want to enable Ouput Caching and Page Caching .

          Even if you go ahead and enable the Output caching at the site/site collection level after enabling publishing infrastructure etc. The Caching will not work for the existing pages.

          Check If Output Caching is working or not?

          Enable debug cache information in the cache profile, a comment will be left at the end of the HTML markup of the web page indicating if output caching is enabled.

          This option is really for debugging purposes, and it is not required to enable output caching.
          It tells you what profile the page is using to cache the content, and the timestamp of the cached version of the page.

          You should be able to see the (IE > view Source > at the bottom)

          <!-- Rendered using cache profile:Public Internet at: 2006-11-03T14:38:59 -->

          at the bottom of the page for the site you created under site collection using the Publishing template "Publishing Site" or Pages created after enabling Publishing Infrastructure.
          So, even if i go ahead and enable the Output caching at the site/site collection level after enabling publishing infrastructure etc. The Caching will not work for the existing pages and they won't have something like "<!-- Rendered using cache profile:Public Internet at: 2006-11-03T14:38:59 -->" at the bottom. Although, this will work for newly added pages after enabling Publishing Infrastructure.

          Apr 10, 2010

          SharePoint Analytics or SharePoint Usage Reporting or Google Analytics SharePoint

          world full of options ... what to choose ..

          SharePoint Usage Reporting provides:
          • Requests and queries in the last day and the last 30 days.
          • Average number of requests per day over the last 30 days.
          • A chart of requests per day over the last 30 days.
          • A list of top users over the last 30 days.
          the list goes on and on ...

          SharePoint Usage Reporting, yes it's not complete web analytics but out of box it does provide features which are comparable to web analytics.

            To turn on SharePoint Usage Reporting:

          1) Turn on usage analysis processing in Central Admin under operations

















          2) Turn on usage reporting in Share Service Provider




          3) Enable Publishing infrastructure at site collection level

               http://celerity12.blogspot.com/2010/03/sharepoint-outputpage-caching.html


          Then goto SiteAction > Site Settings and click Site Collection usage.





          SharePoint Server Updates or Versions ( i.e. Service Packs, Hot Fix, Patch, Cummulative update) all at one place

          SharePoint Updates

          Came across with scenario, when we have bunch of update requested by different teams, some requiring hot fix for infopath, some one for SSP and so on. The best solution is to keep the SharePoint Server Farm updated with all the cumulative updates, this can be or should be tracked at the below link

          SharePoint 2007 Updates link

          SharePoint 2010 Updates link

          Keywords: SharePoint SP2

          Pages