A Zoomable Interactive Python Thread Visualization

David M Beazley (http://www.dabeaz.com)

512 I/O Bound Threads Running on 2 CPUs (Amazon EC2, Linux)

On February 11, 2010, I launched a single large EC2 instance running a custom HTTP server written entirely in Python. That server launched a pool 512 execution threads running inside a version of the interpreter modified to record thread and GIL traces. I then used Twitter and my blog to ask Python programmers to launch an all out assault on the server with the hope of bringing it to a crushing death.

The visualization on this page shows the behavior of the server several hours after the initial onslaught. You will notice that although the server is getting a lot of traffic, much of the initial pounding has passed. There is not nearly as much GIL contention.

512 I/O Bound Threads on 2 CPUs

+ -

Acquired and running Busy Retry

Test Details

Tests were conducted on the following system:

Take Me To More Visualizations!