(Update: PyLT has been renamed to Pylot)
I have started development on a new web performance/load testing tool. It is targeted at testing Web Services.
Here is some Q&A with myself:
You know you are reinventing the wheel, right?
Yes, I know. There are already open source web load testing tools available (OpenSTA, JMeter, Grinder, WebLOAD, etc). I have used all of these as well as proprietary tools for years. I am a performance engineer and I feel like I need a tool set that I am intimately familiar with. I need the ability to easily alter and tweak the tool at will. I don't have the time, budget, or patience enough to wait on vendors when I need something. I also want a tool that is fun to hack and adapt. For this, I need to understand the code base deeply.
What language are you using?
Python. The initial GUI uses Tk, but this may be changed down the road. I use Python's threading module for concurrency. If this doesn't scale well enough, I will be exploring other models of concurrency (perhaps generator based coroutines).
Why do you think you can write a tool like this?
I have worked in performance testing for nearly 10 years. I have written many tools that work with various protocols to do distributed load generation and testing. Creating a simple HTTP load generator is sort of my Hello World 2.0 for each language I try (I have written these from scratch in Python, Perl, Java, and C#). This tool takes that basic concept and organizes it into a robust application.
Will it be Free and Open Source?
Of course! Licensed under GNU GPL.
For an early look, check out the source repository at: http://pylt.googlecode.com/svn/trunk
More details to come.
-Corey