# rqbench A simple benchmarking tool for rqlite. ## Build ```sh go build -o rqbench ``` ## Usage ```sh $ rqbench -h rqbench is a simple load testing utility for rqlite. Usage: rqbench [arguments] -a string Node address (default "localhost:4001") -b int Statements per request (default 1) -m int Print progress every m requests -n int Number of requests (default 100) -p string Endpoint to use (default "/db/execute") -t string Transport to use (default "http") -x Use explicit transaction per request ``` ## Example ```sh $ rqbench -b 10 -m 10 -n 100 'INSERT INTO foo(name) VALUES("fiona")' -a localhost:4001 Test target: http://localhost:4001/db/execute 10 requests completed in 16.130142ms 20 requests completed in 12.778837ms 30 requests completed in 10.403782ms 40 requests completed in 9.938703ms 50 requests completed in 23.39066ms 60 requests completed in 10.311711ms 70 requests completed in 16.628355ms 80 requests completed in 20.589929ms 90 requests completed in 10.687567ms Total duration: 1.48811818s Requests/sec: 67.20 Statements/sec: 671.99 $ rqbench -p '/db/query?level=none' -b 2 -m 1 -n 5 "SELECT COUNT(*) FROM foo" -a localhost:4001 Test target: http://localhost:4001/db/query?level=none 1 requests completed in 484.861µs 2 requests completed in 391.401µs 3 requests completed in 254.429µs 4 requests completed in 439.457µs Total duration: 15.16971ms Requests/sec: 329.60 Statements/sec: 659.21 ```