SPECweb2005 Release 1.20 E-commerce Workload Design Document

Version 1.20, Last modified 04/05/2006

Overview

The E-commerce workload in SPECweb2005 is designed to simulate a Web server that sells computer systems; this includes allowing end users to search, browse, customize, and purchase products.  The workload was developed by analyzing log files of actual E-commerce sites, as well as browsing popular Web stores to gather statistics such as average page size, image sizes and access frequencies (including If-Modified-Since caching from the browser side), and capturing form data a user typically fills out when purchasing products.

Dynamic pages

By observing the requests to typical E-commerce Web stores, it is apparent that three distinct phases are involved in an E-commerce transaction; these are described below.

Phase 1: Browse

The first phase involves a user visiting the home page, possibly selecting a country or region (and thus being directed to the appropriate localized set of pages), selecting the type of customer (home user; small/medium/large business; local/state/federal government; education; healthcare), and being redirected to the appropriate section of products for that customer.  Then the customer must select the type of product they're interested in, and then choosing a specific product model.  Another possibility is using the site's search functionality to find product(s) of interest.

The dynamic pages in this phase must:

The name and purpose of each dynamic page in this phase is below.

Phase 2: Customization

The second phase involves configuring a product, which involves user interaction via form submissions.  First, the internal components are selected by the user (i.e. processor speed, amount of memory, hard drive size); the next page consists of further customizations, i.e. choosing the type of warranty, service, and support they want included, and finally any optional accessories (cables, printers, software, etc.).

The dynamic pages in this phase must:

This phase contains one page, but it is requested multiple times, as it returns different customizations depending upon which stage the user is in (1, 2, or 3).

Phase 3: Purchase

The third and final phase is the actual "E-commerce" phase.  Once the user has configured the product to his/her liking, the user adds the product to the shopping cart.  The cart page allows users to change item quantities, remove items, or save the cart for future retrieval.  When the user clicks "Checkout" from the cart, the session must become secure (this is accomplished via a redirect into HTTPS).  There are multiple pages in this SSL stage: login/registration, entering billing and shipping information, payment details, verifying and submitting the order, and the confirmation page.

The dynamic pages in this phase must handle:

The name and function of each page is described below:

Markov chain

SPECweb2005 is based upon a page-based model; that is, it issues a request to a dynamic page and requests all the images that would normally exist within the page as HTML image tags.  A Markov chain in the harness allows simulation of the relative page request frequencies as seen from the server side.  This is represented in the prime client's SPECweb_Ecommerce.config (see the STATE_n lines).  Below is a diagram of the likelihood of transitioning from one state into another:

Static file set

The static portion of the E-commerce file set is generated by Wafgen.  Each workload has a fixed file set and a file set that scales with the number of simultaneous user sessions requested.

Fixed file set

The fixed file set consists of two types of files: images that an HTML page would reference via <IMG> tags in the HTML (and that a browser would request upon receipt of a page), and "padding".  Padding consists of random text that is inserted at the bottom of a dynamic page to bring the file size up to what was observed with real-world E-commerce Web pages (which have, among other things, JavaScript code and numerous layout tags).  The page image sizes of the fixed file set were determined by analyzing and averaging file sizes observed; the sizes range from very small (less than 100 bytes) to ~22 KB; the former are usually "spacer" images used throughout the site for aligning tables, while the latter tend to be photo-quality JPEG images.  The page images used in the E-commerce workload, along with their size and percentage of being cached by the browser (i.e. receiving an HTTP 304 Not Modified response from the SUT) are listed in the table below.

File Name

Size (bytes)

304 Request %

homepage1 43 30%
homepage2 48 30%
homepage3 54 30%
homepage4 78 30%
homepage5 82 20%
homepage6 147 30%
homepage7 166 30%
homepage8 167 30%
homepage9 173 30%
homepage10 187 30%
homepage11 592 30%
homepage12 616 30%
homepage13 738 30%
homepage14 1,022 30%
homepage15 1,186 30%
homepage16 1,259 30%
homepage17 1,360 30%
homepage18 1,550 30%
homepage19 1,593 30%
homepage20 1,761 30%
homepage21 1,809 30%
homepage22 18,346 20%
homepage23 19,207 20%
homepage24 21,838 20%
homepage25 22,612 20%
browse1 443 30%
browse2 59 30%
browse3 62 30%
browse4 63 30%
browse5 71 30%
browse6 132 30%
browse7 175 30%
browse8 224 30%
browse9 243 30%
browse10 523 30%
browse11 917 30%
browse12 1,167 30%
browse13 1,347 30%
browse14 1,402 30%
browse15 1,480 30%
browse16 1,504 30%
browse17 1,621 30%
browse18 1,738 30%
browse19 2,208 20%
browse20 11,918 20%
browse21 11,972 20%
browse22 14,408 20%
browse23 14,525 20%
browse24 14,748 20%
browse25 15,750 20%
browse_productline1 49 30%
browse_productline2 72 30%
browse_productline3 185 30%
browse_productline4 1,423 30%
browse_productline5 2,176 30%
browse_productline6 3,140 10%
browse_productline7 6,828 10%
browse_productline8 8,210 10%
browse_productline9 9,461 10%
browse_productline10 10,633 10%
browse_productline11 10,774 10%
browse_productline12 11,044 10%
productdetail1 43 30%
productdetail2 58 30%
productdetail3 71 30%
productdetail4 49 30%
productdetail5 121 30%
productdetail6 132 30%
productdetail7 187 30%
productdetail8 187 30%
productdetail9 2,154 10%
productdetail10 3,521 10%
customize1 43 30%
customize2 43 30%
customize3 49 30%
customize4 95 30%
customize5 114 30%
customize6 370 30%
customize7 1,373 10%
customize8 1,936 10%
customize9 1,994 10%
cart1 43 0%
cart2 43 0%
cart3 43 0%
cart4 44 0%
cart5 44 0%
cart6 48 0%
cart7 50 0%
cart8 57 0%
cart9 61 0%
cart10 65 0%
cart11 82 0%
cart12 83 0%
cart13 91 0%
cart14 97 0%
cart15 98 0%
cart16 130 0%
cart17 136 0%
cart18 223 0%
cart19 243 0%
cart20 251 0%
cart21 274 0%
cart22 278 0%
cart23 280 0%
cart24 283 0%
cart25 319 0%
cart26 329 0%
cart27 362 0%
cart28 363 0%
cart29 385 0%
cart30 523 0%
cart31 621 0%
cart32 1,848 0%
cart33 1,980 0%
cart34 7,894 0%
cart35 8,240 0%
cart36 8,255 0%
cart37 8,484