This project focuses on benchmarking and profiling sofarpc with the combination of different serialization and transporter options. The code and the idea behinds it is inspired by Dubbo Benchmark.
Clone this project onto your desktop, then
- Start the target server first, for example:
./benchmark.sh sofa-rpc-bolt-hessian-server
- Start the corresponding client, for example:
./benchmark.sh sofa-rpc-bolt-hessian-client
- Start the target server first, for example:
./benchmark.sh -m profiling sofa-rpc-bolt-hessian-server
- Start the corresponding client, for example:
./benchmark.sh -m profiling sofa-rpc-bolt-hessian-client
- Start the target server and specify 12201 first, for example:
./benchmark.sh -p 12201 sofa-rpc-bolt-hessian-server
- Start the corresponding client, and specify port, specify output file, specify number of client threads, for example:
./benchmark.sh -s 127.0.0.1 -p 12201 -f result.json -t 1000 sofa-rpc-bolt-hessian-client
- Start the corresponding client, and specify warmupIterations, specify warmupTime, specify measurementIterations, specify measurementTime, for example:
./benchmark.sh -a "--warmupIterations=3 --warmupTime=10 --measurementIterations=3 --measurementTime=150" sofa-rpc-bolt-hessian-client
./benchmark.sh -e "-Drequest.size=10240 -Dresult.format=TEXT" sofa-rpc-bolt-hessian-client