exbenchcl — Enduro/X benchmark tool
exbenchcl is Enduro/X benchmark tool. Tool is used for benchmarking standard tpcall(3) request/reply messages. Also tool supports persistent queue tpenqueue(3) and tpdequeue(3) benchmarking. Tools supports multi-threading and multi-processing. Test duration can be limited either by specified runtime in seconds or by optional number of messages processed by each processing unit (thread or processes).
Currently supported data buffer format is UBF. Data loaded to UBF is loaded in following way (may be combined):
The benchmark result is appended to benchmark output file, in following format:
"Configuration" "MsgSize" "CallsPerSec" "<config_name>" <msg_size_in_bytes> <calls_per_second> "<config_name>" <msg_size_in_bytes> <calls_per_second> ...
When performing benchmark to persistent queue, the default mode is to enqueue and dequeue message.
WARNING: Binary is experimental and may be changed in future releases (including but not limited with replaced CLI flags, etc).
Responder service in ndrxconfig.xml(5), single service name mode -N (not set or 0).
<server name="exbenchsv"> <srvid>1800</srvid> <min>15</min> <max>15</max> <sysopt>-e /tmp/EXBENCH</sysopt> </server>
Responder service in ndrxconfig.xml(5), multi-service mode, 5 services:
<server name="exbenchsv"> <srvid>1800</srvid> <min>15</min> <max>15</max> <sysopt>-e /tmp/EXBENCH</sysopt> <appopt>-N5</appopt> </server>
Benchmark of UBF buffer at 1024 bytes with 5 threads:
$ exbenchcl -n5 -P -t20 -b "{}" -f EX_DATA -S1024
Benchmark of 10 threads, to 5 service names
$ exbenchcl -n10 -P -t20 -b "{}" -f EX_DATA -S1024 -N5
Persistent queue benchmark to queue space named SAMPLESPACE. Queue name used is TESTQ1:
$ exbenchcl -n10 -P -t20 -b "{}" -f EX_DATA -S1024 -QSAMPLESPACE -sTESTQ1