Multi threaded Benchmark Example - accelio/JXIO GitHub Wiki
A multi-threaded client, and a multi-threaded server demonstrating how to scale and work in
multi threaded environment.
This example is also used as the main JXIO data path benchmark tool.
The example below demonstrates a scenario where the client is connected to the server on the IP 2.2.2.3. It sends 1KB payload requests to the server and receives an “ack” of size 0 as response.
The results on our test machine where:
- average_TPS = 1110626.32
- average_TX_BW = 1084.596015625 MB
Shell run script: https://github.com/accelio/JXIO/blob/master/examples/runJBenchmarkTest.py
Source code: https://github.com/accelio/JXIO/tree/master/examples/org/accelio/jxio/tests/benchmarks
Benchmark test on client side
$ example/runJBenchmarkTest.py -c -a 2.2.2.3 -i 1024 -o 0
PYTHONPATH is /usr/bin/python
LD library is: <path to JXIO>/tests
Compiling JAVA files....
------ Running Client Test Application -----
running client task number 1
gathering results from tasks
processing results
average_TPS = 1110626.32, average_RX_BW = 0.0 MB, average_TX_BW = 1084.596015625 MB, in_msg_size = 0 Bytes, out_msg_size = 1024 Bytes
Benchmark test on server side:
$./runJBenchmarkTest.py -s -a 2.2.2.3 -i 1024 -o 0
PYTHONPATH is /usr/bin/python
LD library is: <path to JXIO>/tests
Compiling JAVA files....
------ Running Server Test Application -----
Starting server portal workers
Server worker number 1 is up and waiting for requests
Server worker number 1 got new Session, now handling 1 sessions
got event SESSION_CLOSED, the reason is SESSION_DISCONNECTED
Server worker number 1 disconnected from a Session, now handling 0 sessions