Don't ask me why the name is Pylot--I haven't bothered to look. What I do know is that when I look at other performance testing tools they do everything and more, but with the cost of greater complexity in configuration and in use. And that's why I come back to Pylot.
Pylot is conceptually simple and correspondingly easy to use.
You'll need to install python to run it. After unzipping the latest greatest archive, add your testing target to testcases.xml and do the following:
python ./run.py --agents=4 --duration=30
An example of a portion of the output looks like (taken from a real site supporting cached dynamic content, test was performed with 200 agents over 60 seconds):
report generated: 07/30/2010 19:58:51 test start: 07/30/2010 19:57:36 test finish: 07/30/2010 19:58:48Workload Model
test duration (secs) | 72 |
agents | 200 |
rampup (secs) | 0 |
interval (millisecs) | 0 |
Results Summary
requests | 921 |
errors | 0 |
data received (bytes) | 18839055 |
Response Time (secs) | Throughput (req/sec) | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
This will generate statistics that are found in the results directory of the fastest, slowest, standard deviation (variance), etc. of the specific tests. Additional, more complex tests may be scripted in the testcases.xml file.
You can grab your own data set of course and pipe the data to a preferred plotting package, 'cause if you are like me you would rather take the raw data and generate your own plots.
Finally just to give you a flavor of the command line options available:
usage: ./run.py [options] args -a, --agents=NUM_AGENTS : number of agents -d, --duration=DURATION : test duration in seconds -r, --rampup=RAMPUP : rampup in seconds -i, --interval=INTERVAL : interval in milliseconds -x, --xmlfile=TEST_CASE_XML : test case xml file -o, --output_dir=PATH : output directory -n, --name=TESTNAME : name of test -l, --log_msgs : log messages -b, --blocking : blocking mode -g, --gui : start GUI -p, --port=PORT : xml-rpc listening port
So, as you can see, there are controls for the number of concurrent requests, test duration, test interval etc. Further controls on the specific tests are configured via the testcases.xml or globally via the pylot.py file--but you can read the getting started guide to get all this and more.
A good simple performance framework that can be used with a minimum of fuss! Me gusta mucho!
No comments:
Post a Comment