A poor man's web load tester is as simple as a linux box (or handful of them) with a bunch of different network interfaces configured (to simulate multiple traffic sources) and several curl (or other) scripts to hit your web app. You can get as sophisticated as you want -- your packet generator could be a multithreaded app emitting raw packets (see libnet) to vary the sources and types of packets.