Finding Specific Performance Problems

System throughput problems usually occur when the demand for resources exceeds supply. Isolating performance problems starts with determining how users, Commerce Server 2000, and the operating system interact with each resource. You can learn a lot about a system by seeing how various applications use memory.

To begin this task, generate detailed success criteria for concurrent users in the planning phase of the Web site architecture. Determine a usage profile for a typical user visit based upon previous experience or user analysis. This data should provide a download size, throughput, and latency goal for each page.

Site developers should test the ASP pages that they create with a load simulation tool, such as the Microsoft Web Application Stress (WAS) tool, and track these results versus goals. When these pages pass the single server configuration goal, you should plan a milestone for distributed server testing that is more similar to the data center configuration. In particular, you should have the client simulator, Web server, and back-end systems on separate computers. The Web server and back-end systems should be symmetric multiprocessing (SMP) servers if they are going to be deployed as such in the data center.

Next, you should attempt to reduce page request latency. The first item to look at for performance improvements is the requests to the SQL Servers. The SQL Server Profiler tool that comes with Microsoft SQL Server 2000 has a wizard that recommends indices for tuning the database. This tool can be very useful to test frequent page operations. If you are using Microsoft Active Directory server you may also want to monitor its activity. The NTDS object performance counters on the Active Directory server will help define the use of this server component.

After you understand how the data is accessed, you should investigate the page logic. There are a number of tips for tuning that are specific for Active Server Pages (ASP) programming. Each ASP page can realize a significant throughput gain by following these steps correctly.

If the page latency is too long because there are too many calls for data, you can use the Commerce Server LRUCache object. This object can reduce expensive calls for data by retaining the rendered HTML fragment, thus eliminating the query to the back-end server.

Finally, for small tweaks in performance and throughput, try tuning the registry settings within Internet Information Services (IIS) 5.0 and Microsoft Windows 2000. Be aware that these changes will not have the same impact on performance as changing the algorithm or access methods in the site code. For example, you can tune performance on the IIS server by changing the IIS Performance tab settings to More than 100,000 and confirming that ASP debugging is not enabled.

See Also

Changing IIS Performance Tab Settings

Commerce Server Performance Counters

Other Performance Monitoring Tools


All rights reserved.