e-Commerce Sites


e-Commerce web sites exist to sell products. Users visit these sites to view items, place orders, and use customer service features (for example, checking order shipping status, or requesting a return authorization). Most users browse the on-line "catalog" of items or perform searches to view item selections. Only a small percentage of visitors (typically less than 5%) actually make purchases.

Response time is the critical factor for e-Commerce sites. These web sites compete with other e-Commerce sites as well as brick-and-mortar stores for customers. Rapid page responses give users a better shopping experience and allow them see more pages in less time. Users frustrated by slow response times find another place to shop.

Large commercial e-Commerce sites often receive large traffic volumes . These sites require good throughput to handle this traffic while maintaining good response times.

Large traffic volumes also imply a large number of concurrent users. Web sites creating an HTTP session for each visiting user must manage these sessions carefully to avoid excessive memory consumption.

Caching Potential

By now you might think there's little difference between an e-Commerce web site and a financial site. However, unlike their financial counterparts, e-Commerce sites typically return large pages created by embedding many sizeable static elements. An e-Commerce site exists to sell things, and showing customers pictures of these things moves merchandise.

Happily, e-Commerce sites also differ from financial sites in content stability. The selection of toaster ovens at most retail sites doesn't change much from moment to moment. This allows the web site to cache much of its static content using one of the techniques we discussed in Chapter 3. (Some very large e-Commerce web sites actually cache content inside the networks of some very large ISPs. However, that's really beyond our discussion here.)

Special Considerations

e-Commerce web sites deal with confidential user information, as well as potentially large volumes of users. Both these factors influence performance test design.

Traffic Patterns

Much like the financial web sites, e-Commerce sites experience daily traffic cycles. Traffic for these sites tends to be the heaviest around lunch hours and in the early evenings. Of course, for web sites with national appeal , these peak hours may span several time zones. The largest traffic fluctuations for an e-Commerce web site actually occur over the course of a year, with many retail web sites experiencing huge spikes in daily traffic because of seasonal influences. Figure 5.2 shows a web site experiencing a prolonged traffic spike at the holiday season . Web sites may also receive more traffic during the "back-to-school" period in August, as well as at other times, depending on the type of merchandise they sell.

Figure 5.2. Yearly traffic patterns for an e-Commerce site

graphics/05fig02.gif

As they do on financial web sites, these peak events dramatically raise the traffic handled by e-Commerce sites. They may also represent a large part of a retailer's yearly revenue, so planning for these sustained peak loads is essential. Basing your performance test on data for March may mean the site fails when holiday shopping begins in November.

Security

As we discussed earlier, e-Commerce web sites must secure the financial transactions that customers make on the site. However, these transactions normally make up a small fraction of the overall traffic (typically, less than 5% of our daily visitors actually buy anything).

You should use security (particularly SSL) to protect any financial transactions, but try to avoid encrypting graphics- intensive pages, as this requires more overhead. Keep the checkout pages relatively simple for faster processing.

Performance Testing an e-Commerce Site

e-Commerce sites require thorough exploration of their transaction rates, response times, and user pressures. This requires an investment in user simulation licenses and test equipment. Usually, e-Commerce web sites interact with large catalog databases, and the site visitors look at a wide variety of items in the database throughout the day. Set up your performance tests to mimic this behavior. Use a large set of test data to fuel your simulated searches and purchases rather than repeatedly going after the same small set of items. This testing approach more accurately recreates the impact of database interaction on performance.

Repeatedly using as small set of test items often artificially improves your performance numbers . The catalog database quickly loads these items into its cache, reducing their retrieval time. This caching benefit does not generally apply under production conditions, so use enough test data to defeat any artificial caching benefit. Similarly, use a copy of the production database rather than a scaled-down version in your testing. By exercising the full database, you get a more realistic idea of its actual production responsiveness.

Also, be sure to correctly simulate the user pressure during your testing. These web sites receive many different users throughout the day, so your test must simulate this to uncover any user management problems.



Performance Analysis for Java Web Sites
Performance Analysis for Javaв„ў Websites
ISBN: 0201844540
EAN: 2147483647
Year: 2001
Pages: 126

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net