一:sysbench的安装遇到的几个问题:
解决办法: yum install automake
解决办法:yum install libtool
sysbench 的一些常用参数低版本和高版本是有点区别的大家在测试的时候稍微注意一下:
以下这个版本是0.5版本的但是我使用了其1.06 版本的一些参数,
例如 --table=3(这个是表的数量) 但是0.5版本的这个参数是这个--oltp_tables_count=3 --table-size=100000 这个参数是生成单表的一个容量。 但是0.5版本是--oltp-table-size=1000000
1.06这个版本没有这个参数?不知道怎么配置还是已经废掉。 但是0.5版本是 --mysql-table-engine=tokudb 这个参数是指定我们mysql表的一些引擎
具体的参数说明 :
具体的参数说明
--test 这个参数在0.5 版本一定是 要加上的,1.06版本这个参数可以忽略,系统会默认有个指定。
通常我们指定脚本的时候: --test=/opt/sysbench-0.5/sysbench/tests/db/oltp.lua
--mysql-host: 指定哪台数据库
--mysql-port:端口
--mysql-user:用户
--mysql--password:密码
--mysql-db:数据库名
--oltp-tables-count=3 :指定表的数量:会生成你指定的M测试表
--oltp-table-size=1000000:指定单表数据的容量(实际表的填充数据量)
--mysql-table-engine=tokudb:表用到的引擎
--rand-ini=on 表示每个测试表都是用随机的数据来填充。
三:服务器硬件的一些压测
sysbench测试cpu(我的环境都是虚拟机)
二个线程的测试:
/sysbench --num-threads=2 --max-requests=100000 --max-time=120 --test=cpu run
顺序读
./sysbench --test=memory --memory-total-size=2G --memory-oper=read --memory-access-mode=seq run
随机读
./sysbench --test=memory --memory-total-size=2G --memory-oper=read --memory-access-mode=rnd run
准备数据
#sysbench /usr/share/sysbench/oltp.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=sbtest --tables=3 --table-size=1000 prepare
压测数据
sysbench /usr/share/sysbench/oltp_insert.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=sbtest --tables=3 --table-size=1000 run
clean up 数据
#sysbench /usr/share/sysbench/oltp_insert.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=sbtest --tables=3 --table-size=1000 cleanup
注意1.0 和0.5之间有些差别,自己要细心看下参数。
1.0 以上的版本准备数据
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=sbtest --mysql-user=root --mysql-password=123456 --table_size=500 --tables=10 --threads=300 --time=60 --report-interval=10 prepare
0.5 的版本创建一个10个表并且每个表10万的数据
sysbench --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --test=/usr/local/share/sysbench/oltp.lua --oltp_tables_count=10 --mysql-db=sb_test --oltp-table-size=100000 prepare
在压测的过程我们可以使用如下监控命令看下系统的压力。
监控
监控
1 iostat -d -k 2 --其中2表示数据显示每隔2秒刷新一次
2 sar -d 10
3 vmstat -S m 1