In order to conduct web server benchmarking, a system with at least the following components is required:
Under no circumstances should one attempt to benchmark a server by running the load generating software on the server itself. The web server and benchmark software will compete for CPU, and any results obtained will be extremely inaccurate.
Figure 1 illustrates a typical network layout for web server benchmarking. A number of clients are connected via a switch to the server under test. The server in this example has two network cards, to increase the bandwidth available to it, and decrease the likelihood of the network becoming the bottleneck during the tests. In practice, the actual bandwidth to the server that will be required will be a function of the server hardware, and the type of tests being performed. It's possible to saturate a server from a single client without saturating the network when dynamic content generators are being tested or when requesting large numbers of very small files, but a web server serving large static files may be able to supply data at several hundred Mb/s.
The network in use is private, and no machines other than those required for the tests are connected to it, in order to eliminate the effects of externally generated network trafic spikes on the tests.