Site Server - Commerce Edition Evaluation and Tuning

August 1999 

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:

  • How to analyze your site to determine its ability to handle heavy traffic. 

  • How to use Transaction Cost Analysis (TCA) to measure the cost of Web transactions on your site. 

  • How to improve your site's capacity. 

  • How to maintain and troubleshoot your system. 

  • Where to find additional information or support. 

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:

  • Hardware 

  • Software 

  • Content 

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:

  • Build numbers. 

  • Service packs. 

  • Setup options used when installing the software. 

  • System settings, such as amount of virtual memory. 

  • Logical interface between applications. For example, if an application is retrieving data from a table in a database, describe that relationship. 

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:

  • Internet Information Server 4.0 (from the Windows NT Option Pack CD) 

  • InetMonitor (from the Site Server 3.0 Commerce Edition Resource Kit CD) 

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 available in Server Utilties CD of Microsoft TechNet.

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:

  • Memory 

  • System 

  • Site Server LDAP 

  • Site Server Authentication 

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" available in Microsoft TechNet for more information).

Increasing Database Capacity

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

  • Memory 

  • System 

  • Physical Disk 

  • SQL Server 

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:

  • Memory 

  • System 

  • Physical Disk 

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 https://www.microsoft.com/siteserver and https://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:

  • Remove Chat, Bulletin Board Systems, and other unnecessary components. They slow things down. 

  • Set Foreground Boost to Off

  • Set Windows NT as the application server. 

Also, be aware of the following:

  • Commerce and ASP tend to be processor-sensitive. 

  • SQL Server tends to be memory-sensitive. 

  • HTTP tends to be bandwidth-sensitive. 

Internet Information Servers (IIS)

To tune IIS servers, try the following:

Database Servers

To tune database servers:

  • Use stored procedures. 

  • Write efficient queries. 

  • Minimize unused user connections. 

  • Consider dual net cards from SQL to IIS servers. 

  • Use a database index. 

  • Explicitly close connections. 

  • Minimize the amount of data being sent. 

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.

  • At least twice a day, use Event Viewer to review event activity and inform interested parties about any anomalies. 

  • At least once a week, analyze the IIS logs for changes in user-access trends. Ensure that the traffic to your Web site is within the limits that your system can handle. You might also want to reconfigure your Web pages or product offerings based on the trend analysis. 

  • On a regular schedule, back up and truncate your database logs. 

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 https://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:

  • Identical and expected performance (assuming that the hardware is the same). 

  • Upgrading software is easier. 

  • Any improvements made to one server should improve all servers. 

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:

  • Test each Web page to ensure that the content is correct, the links work, the desired results are returned, and the performance is what you expect. 

  • Place the system under stress to ensure that it can handle the maximum amount of traffic you expect to have on the system. Use programs such as InetMonitor and PerfMon to assist you. 

  • Verify response time by bringing up the most complex Web pages under normal stress, while accessing your Web site remotely using different-speed connections. 

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.

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.
https://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.
https://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.
https://www.microsoft.com/siteserver/commerce/DeployAdmin/SDK.htm 

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.
https://www.microsoft.com/siteserver/commerce/DeployAdmin/ResKit.asp 

Books

Title

Identifier

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.

https://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.

https://www.microsoft.com/support/customer/dev_premier.htm 

Microsoft Consulting Services can help you implement a Commerce solution.

https://www.microsoft.com/business/services/mcs.asp 

Microsoft Solution Providers can help you create and deploy applications based on Microsoft technologies.

https://partner.microsoft.com