Mar 23, 2010

SharePoint Warmup Script for Extranet or Intranet Site

Sharepoint Warmup Script Myth DeMystified

Accessing SharePoint Site in the morning is like warming up the car on a cold winter morning before you can expect optimal performance on takeoff.

SharePoint Site resources are recycled from the server memory by default IIS configuration on a regular/nightly basis similar to the concept that after driving certain miles you need to re fuel your car.

To keep things notch up, like cars which start automatically when the temprature falls below cetain fahrenheit. For SharePoint we need to schedule warmup script to run automatically when the application pool memory gets recycled.

SharePoint Sites are hosted on top of WSS, which runs on top of .Net framework hosted on IIS Servers. Same like cars have different types of engine but basically they move the piston/wheel. Abstraction is the key, if you note above.

In a scenario, where you have a 2wd/4wd car still you have to make sure to warmup the engine for optimum performance. Same is the case with SharePoint, (for a given Site) whether it's the Extranet / Intranet Site URL both uses the same Site Collection (and also the same application pool) to access the information need to be displayed to the end user.

From the above you can note that in your warmupscript whether you access the intranet url or extranet url, it doesn't make any difference both works exactly the same helping the ASP .Net JIT compilation and hence site performance doesn't degrade drastically during the wee hours of the morning.

You can use the well known warmup script located at: link

Mar 16, 2010

SharePoint Performance or SharePoint Optimization - Real Time Data

A Share Point Site mainly using forms, workflows, custom views, custom master page, and interacting with custom application database on SQL Server. Users are authenticated via FBA using LDAP.

Time to load the site is:

1) After IISReset, Browser cached cleaned, logged onto the server itself and using (127.0.0.1 in host file for the URL)

around 34 Seconds

2) After Warmup Script, IISReset with browser cached cleaned on the server itself and using (127.0.0.1 in host file for the URL)

around 21 Seconds

3) Subsequent access after closing and reopening the browser only

No IISReset, No Browser cache cleaning

around 11 Seconds


Environment: IE 6.0 on 64 bit box 2GB Ram and only one web app in the farm (1 App Server, 1 Web Server, 1 DB running on VM)
Win 2003 SP2


To Improve the Performance further Enabled the following caching:
* Caching at IIS Level
* Enabled BLOB caching via web.config (Does caches some 30 kb of data)
* Enabled http compression for static and dynamic files at IIS level (Does caches some 40 kb of data)
* Enabled Output Caching or Object Caching at the Share Point Site Collection level
* Warmup script from codeplex

Performance improved to around 5 seconds.

Mar 15, 2010

WSS (Windows SharePoint Services) or SharePoint

Have your Web Portals, Content Management and Business Process Management Workflows without having to pay for SharePoint just use Windows SharePoint Services (WSS) a free add-on to Microsoft Windows Server 2003 and 2008.


 
SharePoint can be adopted slowly to it's complete strength instead of being overwhelmed by the complete list of feature provided by SharePoint. Some scenarios even might not require complete SharePoint they will work just fine using only WSS.
 
WSS Features

  • Content Management system.
  • Document Management providing a central repository for shared documents
  • Web-based collaboration, collaborative editing of shared documents, and document workspaces
  • Workflows
  • Access control and revision control for documents in a library
  • Browser-based management and administration.
  • Customizable web pages using dashboards, web parts, and navigation tools
  • .... and many more

Jan 5, 2010

SharePoint Lists vs Database (RDBMS)

SharePoint is not meant to replace database, SharePoint is evolving as a "Enterprise Content Management and Collabration" Software or Application Development Platform depending on the target audience.

SharePoint List doesn't support
1) Relationship (other then simple relationships)
2) Transactions

SharePoint List supports
1) Indexing
2) Sorting
3) Filtering
4) Views

There are some third party tools (like SLAM), which helps in making relationships between lists. But keep in mind they have limitations and performance issues as SharePoint is not a RDBMS. We can't fly a passenger plane to moon, you need a rocket.

Nov 26, 2009

Branding SharePoint 2007

Branding SharePoint 2007 Site using CSS

In SharePoint CSS can exists at places:

* In the 12'hive in the core.css
* In the Theme folder of 12'hive depending on the theme
* In the Master Page itself, i.e. inline css
* Page referring custom css files
* Content editor webpart
* WebPart code behind

So what's the order of execution of the CSS at page render time (i.e. CSS inheritance).

Well, this is kinda complicated it depends upon bunch of factor:

* Ghosted/Unghosted Master Page
* Unghosting Core.css using SPD
* Making copy of layouts folder
* How the master page is deployed
and so on ...

As Thumb Rule to keeps things simple,easy and efficient, do the following:

* Inline CSS inside the MasterPage
* CSS for only certain pages, use content editor webpart

BTW, Use IE developer toolbar to see whats styles from CSS is finally applied to the page content.

Pages