注: sysbench的版本是1.0.14,MySQL的版本是5.7,Linux是Ubuntu16,运行内存是4G,可用的CPU核数是4。
准备工作:
在ubuntu命令行中执行List-1中的命令,此时数据库foo中会新增一张表,表中10w行数据。
List-1
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=100000 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 prepare
在ubuntu命令行中执行List-2中的命令。
List-2
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=100000 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 run
得到的结果如下:
图1 run命令的结果
图1中显示:
"transactions: 4244 (424.29 per sec.)",每秒事物数是424.29;
"queries: 67904 (6788.64 per sec.)",每秒读写次数是6788;
其它数据不太了解其代表什么。
执行List-3中的命令后,foo中刚才新建的表被删除了。
List-3
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=100000 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 cleanup
我们来测试数据量比较大的情况,建4张表(本来想建10张表的,虚拟机硬盘不够),每张表插入100万条数据
List-4
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 prepare
如下图2所示,会多出4张表,
图2 数据库foo里面多出4张表,每张表有100万条记录
List-5
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 run
结果如下所示
图3 用sysbench的run命令测试的结果
图3中显示:
"transactions: 5959 (595.66 per sec.)",每秒事物数是595.66;
"queries: 95344 (9530.59 per sec.)",每秒读写次数是9530.59;
图3中的事物数和读写次数都比图1中的高,为什么会这样就不知道了,我只是将"--table_size=1000000 --tables=4"这俩个参数的值改变了。
List-6
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=jmd cleanup
执行cleanup命令后,再去查看foo数据库,图2中的4张表已经不存在了。
注意:其实上面只是测只读模式,因为我们使用的是/usr/share/sysbench/oltp_read_only.lua,即read_only。看图1和图3中,SQL statics处,write的值都是0。
安装完sysbench后,新增了一些oltp开头的文件(find / -name oltp*),如下List-7。
List-7
......
find: ‘/sys/kernel/debug’: Permission denied
find: ‘/root’: Permission denied
/usr/share/sysbench/oltp_delete.lua
/usr/share/sysbench/oltp_update_index.lua
/usr/share/sysbench/oltp_point_select.lua
/usr/share/sysbench/oltp_common.lua
/usr/share/sysbench/tests/include/oltp_legacy
/usr/share/sysbench/tests/include/oltp_legacy/oltp_simple.lua
/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua
/usr/share/sysbench/oltp_read_only.lua
/usr/share/sysbench/oltp_write_only.lua
/usr/share/sysbench/oltp_read_write.lua
/usr/share/sysbench/oltp_insert.lua
/usr/share/sysbench/oltp_update_non_index.lua
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/ssl/private’: Permission denied
......
这次使用/usr/share/sysbench/oltp_read_write.lua,即这次的测试,read、write都存在。测试的数据还是4张表,每张表100万数据。分别执行如下的List-8、List-9。
List-8
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 prepare
List-9
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密码 run
执行List-9中的命令后,得到如下图
图4
图4中显示:
"transactions: 2137 (213.64 per sec.)",与图3对比,减少了385(595-213)。
"queries: 42740 (4272.71 per sec.)",与图3对比,减少了5258(9530-4272)。
与图3对比,图4中SQL Statics部分,write的值不再是0了。
注意:
也可以看看这篇,这是Centos上安装的,sysbench版本是1.1.0。
(adsbygoogle = window.adsbygoogle || []).push({});