Site Server - Commerce Edition Evaluation and Tuning
August 1999
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.
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
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:
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
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:
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 |
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.
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:
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).
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.
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.
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 .
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:
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.
To tune IIS servers, try the following:
Follow the 15 tips for enhancing ASP performance found at the following locations:
Fine-tune your server registry settings by following the instructions found at the following locations:
Use Secure Socket Layer (SSL) for encrypting data on the Web only when necessary, because it can cause performance issues.
Consider moving ASP pages to HTML or ISAPI. Cache ASP pages or pre-render them using Xbuilder.
Get the IIS Resource Kit, available from https://www.microsoft.com/mspress/books/1398.asp , which contains tuning and setup guidelines for IIS Web 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 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.
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 https://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:
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.
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.
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.
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. |
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. |
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. |
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 |
Type of Help |
Source |
---|---|
Microsoft Support. |
|
Premier Support for Developers is a program offered by Microsoft to help you analyze your site and help you with other development issues. |
|
Microsoft Consulting Services can help you implement a Commerce solution. |
|
Microsoft Solution Providers can help you create and deploy applications based on Microsoft technologies. |