Skip to content

rsmars/ombt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ombt

A simple oslo messaging benchmarking tool, currently allowing the latency and throughput of RPC calls to be measured.

The intent is to have a tool that can be used in different configurations to get some basic insights into scalability. At present it focuses on RPC calls on a topic to which one or more servers are subscribed.

A simple standalone test with single client and single server:

obmt.py --calls 1000 --conf transport_url amqp://127.0.0.1:5672

Which will start a server, create a client and make 1000 RPC calls and report the average latency for each call and the throughput achieved.

A more realistic test will usually involve starting multiple processes, e.g. start N processes (on any number of machines, provided they all point at the correct messaging broker) with

ombt.py --conf transport_url amqp://127.0.0.1:5672

each of which will start a server in the RPC group, then run

ombt.py --calls 1000 --controller --conf transport_url amqp://127.0.0.1:5672

which will tell all the servers to create a client and make 1000 calls on the RPC server group, then report back the details. The controller process will then collate all the results from each process and print a summary of latency and throughput.

To use a different driver you can either alter the transport url or use other configuration options, e.g.

ombt.py --conf rpc_backend rabbit --conf rabbit_host 127.0.0.1:5672


Setting up qpidd to work with the AMQP 1.0 driver requires qpid 0.26 or later, with 1.0 support enabled and appropriate queue and topic patterns specified, e.g.

./src/qpidd --load-module=./src/amqp.so --auth no --queue-patterns exclusive --queue-patterns unicast --topic-patterns broadcast

Setting up Qpid Dispatch Router to work with the same driver requires 0.2[1] or later and adding the following address definitions to your config file(s):

fixed-address { prefix: /unicast fanout: single bias: closest }

fixed-address { prefix: /exclusive fanout: single bias: closest }

fixed-address { prefix: /broadcast fanout: multiple }

[1] You will also probably want the patch attached to https://issues.apache.org/jira/browse/DISPATCH-51 if using 0.2

About

oslo messaging benchmarking tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%