Position Paper for the W3C Workshop on Web Characterization

Ilan Kinreich

Tel: 781-860-7570 x. 222

e-mail: ilank@radview.com

RadView Software Inc.

Over the last few years, the Internet was transformed from a communication tool used mainly by academics to a major information source, penetrating every home and business. It is changing the way we communicate, learn, publish, purchase, and more, affecting many aspects of our lives. The technology enabling this revolution is the combination of the mature communication infrastructure and the relatively new World Wide Web. The explosive growth of Web sites and Web users shows no sign of slowing down.

Today, companies in almost every industry have some type of Web based application. When customers are discouraged from returning to a specific Web site because of interminable time delays and ineffectual information delivery, the benefits of the Web site are lost. The poor performance is often due to a large number of users simultaneously accessing the Web site, and overloading it. Therefore, it is crucial to examine the application scalability and behavior under a large user load before releasing it to the general public.

Testing Web applications under real-world usage scenarios presents a problem. It is obviously impractical to use hundreds or thousands of human testers who can access the Web site at the same time. Instead, the system can be tested using a load testing tool. This type of tool generates multiple virtual users. The virtual users emulate real user behavior by sending and receiving messages to and from the Web server. The tool should be able to generate very large numbers of simulated users accessing the Web site. The scalability of the site can be determined by measuring such parameters as transactions per second, throughput and response time. In addition, the data returned to the virtual users from the Web site can be examined, to verify its correctness.

To successfully predict the scalability of the Web site, each one of the virtual users generated by the tool must behave as a real user accessing the site through a browser. This implies that the tool should include full HTTP and e-commerce support including:

* Support for all common SSL cipher suites.

* Automatic support for the full HTTP protocol (including cookies, passwords, etc.)

* Multithreaded virtual clients (for emulating the browser).

* Support for persistent connections.

* Slow connection (modem) simulation.

* The users can be configured to behave like any browser type.

Testing Web applications under real-world usage scenarios before they are released to the public, is crucial in today's competitive Web Market. A Web load generating tool can help predict the reliability and scalability of the Web site, ensuring that it will be functional even under heavy user loads. As these tools become widely accepted by the Web developer community, it may be possible to extend the HTTP protocol to include information that will facilitate the performance analysis generated by the tools. For example, the protocol can be extended to include transaction timer data. The additional information can enhance the measurements provided by the load tool, and enable better performance scalability predictions.