Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Various scripts I've been using to benchmark queue servers
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
queueing-playground =================== Phillip Pearson <firstname.lastname@example.org> http://github.com/myelin/queueing-playground Here's some code I've been using to experiment with RabbitMQ recently. Dependencies ============ py-amqplib: http://barryp.org/software/py-amqplib/ QPid: http://cwiki.apache.org/qpid/ Usage ===== Create a config.txt file, like this, in the same directory as this README: host = hostname of your rabbitmq server port = 5672 user = your rabbitmq username password = your rabbitmq password exchange = tempexch queue = tempqueue durable = true ssl = false Then try running some of the Python scripts in python/qpid and python/amqplib. Try changing the 'durable' line to 'durable = true' (and changing the 'exchange' and 'queue' values to something like 'durexch' and 'durqueue', as Rabbit won't let you redeclare the existing exchange as non-durable) to get a durable queue. Results ======= colinux VM using one core of a Mobile Core 2 Duo, running Debian Etch, RabbitMQ 1.4.0-1 and Erlang 11.b.2-4: py-amqplib 0.3 producer and Rabbit on same VM, non-durable queue: ~1200-1300 msgs/sec produced. basic.consume consumer and Rabbit on same VM, non-durable queue: ~150-180 msgs/sec consumed. producer, basic.consume consumer and Rabbit on same VM, non-durable queue: ~1000 msgs/sec produced, ~50 msgs/sec consumed. QPid 1.0 M2 Couldn't get basic.consume working. basic.get consumer consumes about 25 msgs/sec but without using much CPU, so I could run 20 at a time plus the py-amqplib producer (above) to produce and consume about 300 msgs/sec continuously. Athlon XP 2800+ with 1G RAM, running Debian Etch, RabbitMQ 1.4.0-1 and Erlang 1:12.b.3-dfsg-4: py-amqplib 0.5 producer and Rabbit on same box, non-durable queue: 2000-3000 msgs/sec produced (initially ~3000, dropping to ~2000 after the number of messages in the queue gets up around 20k). basic.consume consumer and Rabbit on same box: ~2100 msgs/sec consumed. producer, one basic.consume consumer and Rabbit on same box, non-durable queue: one run: ~1400 msgs/sec produced, 900-1000 msgs/sec consumed. another run: ~900 msgs/sec produced, ~700 msgs/sec consumed. No idea what is causing this difference. producer, two basic.consume consumers and Rabbit on same box, non-durable queue: ~650 msgs/sec produced and consumed. basic.get consumers manage 25 msgs/sec each, using nearly no CPU. Blog posts ========== Initial queueing experiments: http://www.myelin.co.nz/post/2008/8/4/#200808042 Queueing update: http://www.myelin.co.nz/post/2008/8/10/#200808101