OpenAMQ has been recorded as transferring 140-150K messages per second, sustained over ten seconds, in the following scenario:
Please note that this figure is for aggregate performance of the broker, i.e. a total of all incoming and outgoing messages passing through the broker.
The publisher and subscribers are written as PAL scripts:
The command used to start the subscribers is:
./run_many.sh 64 ./topic_subscribe -s [server address and port]
And the command used to start the publisher is:
./topic_publish -z 500 -S 64 -M 100000
The tests were conducted using this software configuration:
The server and publisher were run on an 8-way Opteron. The subscribers were run on a 4-way Opteron. The two servers were connected via gigabit ethernet networking.
This is the run_many.sh script used to start the clients:
#!/bin/sh
if [ $# -lt 2 ]; then
echo "usage: run_many.sh NUMCLIENTS COMMAND [client options]"
exit 1
fi
NUMCLIENTS=$1
shift
COMMAND=$1
shift
for client in `yes | head -${NUMCLIENTS}`; do
${COMMAND} "$@" &
done