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:
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:
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
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
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.
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 |
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.
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.
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.)
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.
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.
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.
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.
To tune Microsoft Windows NT servers, try the following:
Also, be aware of the following:
To tune IIS servers, try the following:
To tune database servers:
Monitoring your system logs on a regular basis can help you avoid catastrophic failures and prepare you for unexpected increases in server activity.
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.
This section contains ways to troubleshoot problems with your system.
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.
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.
Always use a separate server to monitor your production servers.
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:
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:
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.
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.
This section contains a list of resources available for reference or assistance.
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. |
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 |
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 |
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.