Archive: April, 2010

Performance Tuning IIS 6/7

12 comments April 29th, 2010


This section contains information about configuration, topology, and other aspects to consider for Web servers serving highly performing IIS applications.

Use Kerberos authentication for servers with heavy usage.

We recommend that you use Kerberos authentication for servers in which you serve many requests for a given time unit, if so doing so meets other business needs. Kerberos authentication can return authentication request results quickly because it uses caching.


This section contains information about configuration, end-user training, maintenance, and other recommendations for optimizing existing IIS application servers.

Configure application pool recycling settings for better availability

Use the guidance in this section to tune your application pools for improved availability.

  • If you have multiple Web servers in your farm, be sure that the application pools are set to recycle at different times on each Web server.
  • Recycle IIS Web sites at different times to spread loads across all Web servers in the farm. If you need to recycle more than one application pool on a specific Web site at the same time, you should temporarily remove that Web server from the load balancer to avoid poor performance during the recycling process.
  • When you plan application pool recycling on servers, consider the amount of memory used by each application pool and revise the frequency of recycling based on the amount of memory used. Application pools that use fewer memory resources will need fewer recycles than application pools that use more memory.

Memory management is recommended to schedule nightly recycle of application pools for 64-bit servers. This helps reduce the possibility of problems caused by fragmentation. Continue reading…

Performance Tuning Windows 2003/2008

No comments April 29th, 2010

Disable Nonessential Services

Disable Windows Server 2003 services that are not required for a dedicated Web server. To do this, follow these steps:

  1. Click Start, point to Programs, point to Administrative Tools, and then click Computer Management.
  2. Under Computer Management (Local), expand Services and Applications, and then click Services.In the Status column, each service that is running is labeled “Started.” The following services are not required on a dedicated Web server:
  • Alerter
  • ClipBook
  • Computer Browser
  • DHCP Client
  • DHCP Server
  • Fax Service
  • File Replication
  • INfrared Monitor
  • Internet Connection Sharing
  • Messenger
  • NetMeeting Remote Desktop Sharing
  • Network DDE
  • Network DDE DSDM
  • NWLink NetBIOS
  • NWLink IPX/SPX
  • Print Spooler
  • TCP/IP NetBIOS Helper Service
  • Telephony
  • Telnet
  • Uninterruptible Power Supply Continue reading…

SQL Performance Dashboard…

No comments April 17th, 2010

The SQL Server 2005 Performance Dashboard Reports are Reporting Services report files designed to be used with the Custom Reports feature introduced in the SP2 release of SQL Server Management Studio. The reports allow a database administrator to quickly identify whether there is a current bottleneck on their system, and if a bottleneck is present, capture additional diagnostic data that may be necessary to resolve the problem. For example, if the system is experiencing waits for disk IO the dashboard allows the user to quickly see which sessions are performing the most IO, what query is running on each session and the query plan for each statement.

Common performance problems that the dashboard reports may help to resolve include:
– CPU bottlenecks (and what queries are consuming the most CPU)
– IO bottlenecks (and what queries are performing the most IO).
– Index recommendations generated by the query optimizer (missing indexes)
– Blocking
– Latch contention

The information captured in the reports is retrieved from SQL Server’s dynamic management views. There is no additional tracing or data capture required, which means the information is always available and this is a very inexpensive means of monitoring your server.

Reporting Services is not required to be installed to use the Performance Dashboard Reports.

Download it here:


  1. Execute the .msi file on your SQL server, and follow the prompts.
  2. Browse to: C:\Program Files\Microsoft SQL Server\90\Tools\PerformanceDashboard\setup.sql and double click it.
  3. This will automatically open SSMS and display the content of setup.sql. 
  4. Connect to your database instance, and execute the setup.sql query which is already open, simply click execute.  It should complete successfully.
  5. Right click on your database instance, select Reports, then Custom Reports.  Browse to:
  6. C:\Program Files (x86)\Microsoft SQL Server\90\Tools\PerformanceDashboard and open performance_dashboard_main.
  7. This will access the performance dashboard and you can begin to better understand the performance of your SQL instance as well as how it affects your applications, such as SharePoint. =o)

Unicast NLB nodes cannot communicate…

No comments April 16th, 2010

One of the most annoying aspects of configuring Microsoft Network Load Balancing on W2K3 in Unicast mode has always been the fact that nodes in a NLB cluster are unable communicate with each other or via each other if you are RDPed into either of them.  Well W2k3 SP2 ended that issue by enabling a simple registry entry that can be added to each node in the cluster that allows them to communicate with each other making administration a bit easier.

1. Click Start, click Run, type regedit, and then click OK.

2. Locate and then click the following registry subkey:
**Note The {GUID} placeholder represents the GUID of the particular NLB instance. You can use the ClusterIPAddress subkey in this hive to identify different NLB clusters.**

3. On the Edit menu, click New, click DWord Value, and then add the following value data. Collapse this tableExpand this tableValue name UnicastInterHostCommSupport, set it’s value to 1.
**Note If you set the UnicastInterHostCommSupport registry entry to any non-zero value, Unicast InterHost Communication Support will be enabled.**

4. Close the Registry Editor.

5. Open a command prompt, and then type the following command:

Read the full KB article at:

Using a Script Configuration to SharePoint -vs- Using the Configuration Wizard.

No comments April 16th, 2010

I’ve been deploying SharePoint for years, I’ve always used the Microsoft Office SharePoint Configuration Wizard to configure the farm.  Recently I had a customer ask me how they could customize the name of the AdminContent database that the wizard randomly names it something like:


I’ve never minded this much; however,  if you happen to be using the same SQL server instance for multiple SharePoint deployments, it could get confusing as to which AdminContent goes with which farm, or maybe you want ALL your your SharePoint databases to follow a certain naming convention.

Whatever the reason might be,  I put together this small script that will allow you to customize the AdminContent database name as well as being able to offer the ability to hand your customer or whoever a sure way of configuring SharePoint the same every time:

cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN
PSConfig.exe -cmd configdb -create -server SQLServerName\Instance -database NameOfConfigDB -user DOMAIN\FarmAdminAccount -password FarmAdminPassword -admincontentdatabase NameOfAdminContentDB
psconfig.exe -cmd helpcollections installall
psconfig.exe -cmd secureresources
psconfig.exe -cmd services -install
stsadm -o spsearch -action start -farmserviceaccount DOMAIN\WSSSearchAccount -farmservicepassword WSSSearchPassword
stsadm -o osearch -action start -role IndexQuery -farmserviceaccount DOMAIN/OfficeSearchAccount -farmservicepassword OfficeSearchPassword -farmcontactemail
psconfig.exe -cmd services -provision
psconfig.exe -cmd installfeatures
psconfig.exe -cmd adminvs -provision -port PortNumberForCentralAdmin –windowsauthprovider onlyusentlm
psconfig.exe -cmd applicationcontent -installcode

For a complete reference of commands and switches, please visit: