To build: step 1 - Install gcc,g++ and make: - ubuntu/debian: sudo apt-get install g++ gcc make - redhat/centos: sudo yum install gcc-c++ gcc make step 2: Edit Makefile to set MYSQL_BASEDIR -MYSQL_BASEDIR is usually at: /usr/ /usr/local/mysql /opt/mysql * step 3: Build 'bencher' make To run (Example): ./bencher -h127.0.0.1 -P33306 -ujohan -pseveralnines -r 3600 -t 2 -e "select 1" Output: ------- Starting Benchmark - iteration (1 / 3) ---------- Thread 0 - warming up for 5 seconds Thread 0 - warmup complete Thread 0 - tps: 215.80 (stdev=60.75) latency: 4638.98 us (stdev=5828.74) 95th: 5507 us (averages measured after 5 secs) exec_count=1079 aggregate_time=5005462 Thread 0 - tps: 223.70 (stdev=60.34) latency: 4473.76 us (stdev=4474.02) 95th: 5495 us (averages measured after 10 secs) exec_count=2237 aggregate_time=10007796 Thread 0 - tps: 225.87 (stdev=60.47) latency: 4430.58 us (stdev=3844.47) 95th: 5492 us (averages measured after 15 secs) exec_count=3388 aggregate_time=15010818 Thread 0 - tps: 225.25 (stdev=61.05) latency: 4442.73 us (stdev=3749.57) 95th: 5487 us (averages measured after 20 secs) exec_count=4505 aggregate_time=20014494 Thread 0 - tps: 226.64 (stdev=60.79) latency: 4415.13 us (stdev=3389.53) 95th: 5487 us (averages measured after 25 secs) exec_count=5666 aggregate_time=25016109 Thread 0 - tps: 227.83 (stdev=60.76) latency: 4391.99 us (stdev=3130.34) 95th: 5455 us (averages measured after 30 secs) exec_count=6835 aggregate_time=30019284 Thread 0 - tps: 228.57 (stdev=60.55) latency: 4377.91 us (stdev=2918.88) 95th: 5454 us (averages measured after 35 secs) exec_count=8000 aggregate_time=35023306 Thread 0 - tps: 228.88 (stdev=60.87) latency: 4372.28 us (stdev=2776.43) 95th: 5450 us (averages measured after 40 secs) exec_count=9155 aggregate_time=40028204
severalnines/bencher
'bencher' is a benchmarking tool for MYSQL. It gives much better stats than mysqlslap. Bencher operates on an existing schema.
C++GPL-2.0