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.

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…

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

Click Start, point to Programs, point to Administrative Tools, and then click Computer Management.

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:

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.

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:
HKLM\System\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}
**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:
NLB RELOAD

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:

SharePoint_AdminContent_d9843542-d33d-43f7-a820-d8803f8f3fc5

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: