Figure 1 shows an overview of the design of WPB and illustrates a typical benchmarking setup. The general setup of the benchmark is that a collection of Web client machines are connected to the proxy system under testing, which is in turn connected to a collection of Web server machines. There can be more than one client or server processes running on a client or server machine. The client and server processes run the client and server codes in the benchmark, instead of running a browser or a Web server. There is also a master process to coordinate the actions of client processes and generate an overall performance report. Some of the setup parameters are defined in a configuration file. The following sections describe each of the main component of WPB as well as the main performance metrics reported.