测试指标
   
- 
     吞吐量
单位时间内的事务处理数,单位tps(每秒事务数) - 
     响应时间
语句平均响应时间,一般截取某段时间内,95%范围内的平均时间 - 
     并发性
线程同时执行 - 
     可扩展性
资源增加,性能也能正比增加 
    
    
    测试工具
   
    
    
    mysqlslap
   
mysqlslap --options
–concurrency
代表并发数量,多个可以用逗号隔开,concurrency=10,50,100, 并发连接线程数分别是10、50、100个并发。
–engines
代表要测试的引擎,可以有多个,用分隔符隔开。
–iterations
代表要运行这些测试多少次。
–auto-generate-sql
代表用系统自己生成的SQL脚本来测试。
–auto-generate-sql-load-type
代表要测试的是读还是写还是两者混合的(read,write,update,mixed)
–number-of-queries
代表总共要运行多少次查询。每个客户运行的查询数量可以用查询总数/并发数来计算。
–debug-info
代表要额外输出CPU以及内存的相关信息。
mysqlslap -h 192.168.1.201 -u root  --auto-generate-sql --concurrency 20 --iterations 1 --create-schema=big_data --query='select * from dict limit 1'
    
    
    sysbench
   
- 测试CPU性能
 
2个线程寻找20000以内的素数
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run
- 测试IO性能
 
sysbench --test=fileio --file-total-size=20G prepare
sysbench --test=fileio --file-total-size=20G --file-test-mode=rndrw run
sysbench --test=fileio --file-total-size=20G cleanup
seqwr:顺序写入
seqrewq:顺序重写
seqrd:顺序读取
rndrd:随机读取
rndwr:随机写入
rndrw:混合随机读写
- 测试事务性能
 
 sysbench --test=oltp --mysql-table-engine=innodb \
--mysql-user=root --db-driver=mysql --mysql-db=test  \
--oltp-table-size=3000 --oltp-table-name=t1  \
--mysql-socket=/var/lib/mysql/mysql.sock prepare
    
    
    tpcc
   
- 工具安装
 - 
     tpcc_load装载数据
命令格式: 
tpcc_load [server] [DB] [user] [pass] [warehouse]
实例:
./tpcc_load 192.168.2.201 tpcc5 root "" 5
tpcc5库下创建5个仓库(仓库越多数据量越大)
- 
     模拟订单事务
格式: 
tpcc_start -h server_host -P port -d database_name
    -u mysql_user -p mysql_password
    
    -w warehouses -c connections -r warmup_time -l running_time
    
    -w 仓库 -c 连接数 -r预热时间 -l 测试时间
    
    实例:
   
# ./tpcc_start -h 192.168.1.201 -d tpcc1000 -u root -p '' -w 5 -c 5 -r 30 -l 30
5线程测试5个仓库,30秒预热,30秒测试