Locust
Scalable open source load testing tool
...The idea behind Locust is to swarm your web site or other systems with attacks from simulated users during a test, with each user behavior defined by you using Python code. This swarming process is then monitored from a web UI in real-time, and will help identify any bottlenecks in your code before real users can come in.
As it is completely event-based, Locust can have thousands or even millions of simultaneous users distributed over multiple machines swarming your system. Unlike other event-based apps, it doesn’t use callbacks but uses lightweight processes instead, so you can write very expressive scenarios in Python without complicating it with callbacks.