Site Server 3.0 Commerce Edition Evaluation and Tuning

August 1999

Microsoft Corporation

Overview

Today, many companies have Web sites that encourage visitors to make purchases. A commerce site can mean a great deal of income for a company. The best way to maximize this type of investment and minimize problems with accessibility is to ensure that the Web site is prepared to handle potential traffic. This document describes:

The Current System

Analyzing your current system configuration can help you better understand how it affects overall system capacity. As you tune and scale your site, you might change your current configuration. In order to accurately determine the effect a change has on performance, you need to know the current configuration of your system. Analysis of your system’s baseline configuration should include analysis of:

Analyzing Hardware

Inventory each computer configuration, including boards, peripherals (not mouse or keyboard), and network. Create a system diagram to show how the parts are logically connected and what purpose they serve. For example, indicate whether a server is a Web server or a database server. Figure 1 shows an example of a hardware diagram.

Figure 1: Hardware Diagram

Analyzing Software

Describe the software used on each computer and how it interfaces with software on other computers. When documenting the software installed on each computer, include the following:

In addition to describing your software configuration, a software diagram similar to that shown in Figure 2 can be helpful.

Figure 2: Software Diagram

Analyzing Content

Describe the content that has been added to each type of server after the software was installed. For example, you should document each file and the directory structure in which files are stored on browse servers and buy servers. You should also document information such as permission settings for the file system, database scripts, configuration files, data files, and so on.

System Capacity

This section describes how to use Transaction Cost Analysis (TCA) to measure the capacity of your system and how to increase the capacity of each type of system component.

We created a TCA simulation to help you understand how it works before you test your Web site. The simulation contains Web pages, PerfMon scripts, InetMonitor scripts, Windows NT® Resource Kit utilities, and a readme file to explain it. The simulation is contained in the TCASample.exe file available in the \Reskit\Code\TCASample folder after you install the Site Server 3.0 Commerce Edition Resource Kit. You can run it on one machine with only Internet Information Server (IIS) and InetMonitor installed, but it works better and is more representative of a real environment if you run it on two machines. To run the simulation, you need the following:

There are three tiers of servers that you need to consider when measuring system capacity:

Top tier Web servers
Middle tier Business or other applications, LDAP servers, content servers
Lower tier Database server

Measuring System Capacity

Transaction Cost Analysis can tell you how much traffic your Web site can handle, and the cost of performing various types of transactions on your site. When you understand transaction costs, you can focus your energy on improving the Web pages or servers that are performing poorly.

Before you take any measurements, you must create a usage profile report (see "Creating Usage Profile Reports" in the Site Server 3.0 Commerce Edition Resource Kit). When you have created the usage profile report, you can start taking measurements. See "Using Transaction Cost Analysis for Site Capacity Planning" in the Site Server 3.0 Commerce Edition Resource Kit for a detailed description of how to perform the measurements, obtain sample scripts, and obtain suggestions for optimization.

For an example of a full Web site with scripts for performing capacity measurements, download the VC-Turbo performance kit from http://www.microsoft.com/siteserver/commerce/DeployAdmin/VolcanoCoffee.htm.

Increasing Web Site Capacity

After tuning your system and measuring its capacity, you may discover that it can’t handle the amount of traffic that you are experiencing on your Web site. Or, more importantly, you may be concerned about a surge of traffic for a new marketing initiative or a seasonal surge, such as Back-to-School or Christmas.

You need to test the expected traffic level on your Web servers to accurately determine where to scale servers to meet the anticipated load. (Performing calculations to determine how many servers to add may work, as long as capacity problems are isolated to one tier.) Use PerfMon to monitor the counter values for different server objects. See Detecting System Bottlenecks in Sites Using Site Server 3.0 Commerce Edition in the Site Server 3.0 Commerce Edition Resource Kit for help to determine which counters to monitor and when counter values are out of range. See Building High-Scalability Server Farms in the Site Server 3.0 Commerce Edition Resource Kit for help determining how to scale a tier before you run the test again.

Use the counters indicated in the Baseline section of the document A Site Server 3.0 Commerce Edition Scalability Case Study in the Site Server 3.0 Commerce Edition Resource Kit to monitor your Web servers. If you exceed any of the counters, you should scale that tier.

Increasing LDAP Capacity

See Microsoft Site Server 3.0 Personalization and Membership Scaling Summary in the Site Server 3.0 Commerce Edition Resource Kit to help you plan LDAP capacity. While running your tests, monitor the following PerfMon objects:

If the values for these counters are inappropriate, then you need to scale this tier. Use the Windows NT Load Balancing Service (WLBS) to help you scale this tier. (See "The Windows NT Load Balancing Service (WLBS) Technical Overview" located at http://www.microsoft.com/isn/whitepapers/windows_nt_load_bala643.asp for more information.)

Increasing Database Capacity

Monitor the following PerfMon objects to analyze the database server’s capacity:

It is easier to add a new server than to move an application that is sharing a database server to a new server. However, scaling a database is not always a simple matter of adding another server. Review the documentation on the database application for guidelines on scaling the database.

Increasing Middle-Tier Capacity

Middle-tier servers can serve a variety of purposes, such as running applications, LDAP, or containing content. During your testing, monitor the following PerfMon objects:

If the values for these counters are inappropriate, then you should scale this tier. You might want to search for documents that discuss performance issues specific to the technologies you are using on this tier. You might consider using WLBS to permit access to additional servers.

System Maintenance

This section lists resources that can help you deploy and maintain your Web site. In addition, you can make frequent visits to our Site Server Web sites at http://www.microsoft.com/siteserver and http://www.microsoft.com/siteserver/site/Support/default.htm.

Tuning Your System

Review the latest tuning guidelines periodically to ensure that your computers are running as efficiently as possible. In addition to other resources, you can find great tips on tuning in the Improving Architecture section of Building High-Scalability Server Farms in the Site Server 3.0 Commerce Edition Resource Kit.

Microsoft NT Servers

To tune Microsoft Windows NT servers, try the following:

Also, be aware of the following:

Internet Information Servers (IIS)

To tune IIS servers, try the following:

Database Servers

To tune database servers:

Monitoring and Maintaining the Logs

Monitoring your system logs on a regular basis can help you avoid catastrophic failures and prepare you for unexpected increases in server activity.

Monitoring the Performance Counters

As your site becomes increasingly popular, you might begin to see bottlenecks, due to the increased traffic. One way to prevent bottlenecks from becoming a problem is to use PerfMon to monitor system counters. This enables you to determine whether a system resource is reaching critical capacity. See Detecting System Bottlenecks in Sites Using Site Server 3.0 Commerce Edition in the Site Server 3.0 Commerce Edition Resource Kit for an explanation of which counters should be monitored and what to look for. You can also use PerfMon to issue an alert when a counter fluctuates outside of acceptable ranges.

Troubleshooting

This section contains ways to troubleshoot problems with your system.

Installing Site Server Software

Site Server is sensitive to how it is installed and the components with which it is installed. To avoid problems during and after installation, it is important to follow the latest installation procedures, available at http://support.microsoft.com/support/siteserver/install_ss3.asp.

Adding Software to Production Servers

If an application isn’t needed to perform the primary function of a server, don’t install it. Even installing an application temporarily and then uninstalling it can cause an incompatible DLL to wreak havoc on your server. Services that aren’t needed should be stopped and set to manual.

Monitoring Production Servers

Always use a separate server to monitor your production servers.

Using Consistent Server Configurations

Servers that perform the same function should have the same software configuration. For example, all Web servers should have the same software configuration (but not necessarily the same configuration as the database servers). This provides the following benefits:

Testing

Always perform real-world testing in a test environment with the production configuration before going live with your site. Performing module tests or tests on development systems will not give you the same results as testing the full configuration under normal and extreme traffic. No change, no matter how small, should be placed into production without a full test, and no Web site should be created without a plan in place for testing it. The following are guidelines for testing:

Migrating from Site Server 3.0

If your Web site is based on Site Server 3.0, you need to plan how to evolve your application. Site Server 3.0 works on the Microsoft Windows 2000 platform with the use of Site Server 3.0 Service Pack 3.

In order to understand how to properly prepare for migration, see "Best Practices for Migrating Site Server 3.0 and Site Server 3.0 Commerce Edition" in the Site Server 3.0 Commerce Edition Resource Kit.

Applying Y2K Updates

To avoid problems with Year 2000 issues, it is a good idea to verify that your servers have been properly updated. To check your systems for Y2K compliance, download the Y2K product analyzer from http://www.microsoft.com/technet/year2k/pca/pca.htm.

The analyzer tests the Microsoft products on your systems for Y2K compliance. Follow the instructions for bringing your systems into compliance, then re-measure system capacity.

Resources

This section contains a list of resources available for reference or assistance.

Web-Based Information

Topic Description / URL
Building your Intranet with Site Server 3.0 Commerce Edition Contains many interesting documents, tutorials, and classes. Some of the information is old, but still pertinent. The classes are geared toward developers and Web builders, and are delivered to your desktop via streaming video.

http://msdn.microsoft.com/workshop/server/nextgen/siteservfeat.asp

MSDN information Contains a great deal of information about Site Server and many other technologies. You may find it helpful to visit this site on a regular basis. Select Search MSDN, and enter Site Server to find Site Server documents.

http://msdn.microsoft.com/default.asp

Site Server 3.0 Commerce Edition Software Development Kit (SDK) Contains technical information for developers creating programs or intelligent Web pages that must integrate with the Site Server application programming interface. The SDK contains a programmer’s guide and references to various Site Server and Commerce technologies. It also includes samples and header files that you can use to create your own programs.

http://www.microsoft.com/siteserver/commerce/DeployAdmin/SDK.asp

Site Server 3.0 Commerce Edition Resource Kit Contains technical information and tools designed to help you plan, develop, deploy, and manage your e-commerce Web site. The kit includes performance-related information for Microsoft SQL Server™, Microsoft Windows NT® Server, and Microsoft Internet Information Server.

http://www.microsoft.com/siteserver/commerce/DeployAdmin/ResKit.asp


Books

Title Identifier
Official Microsoft® Site Server 2.0 Enterprise Edition Toolkit Available from Microsoft Press: http://mspress.microsoft.com/books/1335.htm
Microsoft Site Server 3 Bible with Cdrom ISBN 076453193X
Site Server 3.0 Personalization and Membership ISBN 1861001940
Special Edition Using Microsoft Site Server ISBN 0789711575
Professional Site Server 3 ISBN 1861002696
Implementing and Supporting Web Sites Using Microsoft Site Server 3 ISBN 0139235175

Help

Type of Help Source
Microsoft Support. http://www.microsoft.com/support/
Premier Support for Developers is a program offered by Microsoft to help you analyze your site and help you with other development issues. http://www.microsoft.com/support/customer/dev_premier.htm
Microsoft Consulting Services can help you implement a Commerce solution. http://www.microsoft.com/enterprise/services/consulting.htm
Microsoft Solution Providers can help you create and deploy applications based on Microsoft technologies. http://www.microsoft.com/directaccess/partnering/mcsp/hire/

Information in this document, including URL and other Internet web site references, is subject to change without notice.  The entire risk of the use or the results of the use of this resource kit remains with the user.  This resource kit is not supported and is provided as is without warranty of any kind, either express or implied.  The example companies, organizations, products, people and events depicted herein are fictitious.  No association with any real company, organization, product, person or event is intended or should be inferred.  Complying with all applicable copyright laws is the responsibility of the user.  Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document.  Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 1999-2000 Microsoft Corporation.  All rights reserved.

Microsoft, Windows, Windows NT, and Visual C++ are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.