数据库工具sysbench安装教程和性能测试例子
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看:http://sysbench.sourceforge.net。
它主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
目前sysbench主要支持MySQL,pgsql,oracle这3种数据库。
一、安装
首先,在http://sourceforge.net/projects/sysbench下载源码包。
接下来,按照以下步骤安装:
tarzxfsysbench-0.4.8.tar.gz
cdsysbench-0.4.8
./configure&&make&&makeinstall
strip/usr/local/bin/sysbench
以上方法适用于MySQL安装在标准默认目录下的情况,如果MySQL并不是安装在标准目录下的话,那么就需要自己指定MySQL的路径了。比如我的MySQL喜欢自己安装在/usr/local/mysql下,则按照以下方法编译:
/configure--with-mysql-includes=/usr/local/mysql/include--with-mysql-libs=/usr/local/mysql/lib&&make&&makeinstall
当然了,用上面的参数编译的话,就要确保你的MySQLlib目录下有对应的so文件,如果没有,可以自己下载devel或者share包来安装。
另外,如果想要让sysbench支持pgsql/oracle的话,就需要在编译的时候加上参数
--with-pgsql
或者
--with-oracle
这2个参数默认是关闭的,只有MySQL是默认支持的。
二、开始测试
编译成功之后,就要开始测试各种性能了,测试的方法官网网站上也提到一些,但涉及到OLTP测试的部分却不够准确。在这里我大致提一下:
1、cpu性能测试
cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为20000,自己可以根据机器cpu的性能来适当调整数值。
2、线程测试
sysbench--test=threads--num-threads=64--thread-yields=100--thread-locks=2run
3、磁盘IO性能测试
sysbench--test=fileio--num-threads=16--file-total-size=3G--file-test-mode=rndrwprepare
sysbench--test=fileio--num-threads=16--file-total-size=3G--file-test-mode=rndrwrun
sysbench--test=fileio--num-threads=16--file-total-size=3G--file-test-mode=rndrwcleanup
上述参数指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。
4、内存测试
上述参数指定了本次测试整个过程是在内存中传输4G的数据量,每个block大小为8K。
5、OLTP测试
sysbench--test=oltp--mysql-table-engine=myisam--oltp-table-size=1000000\
--mysql-socket=/tmp/mysql.sock--mysql-user=test--mysql-host=localhost\
--mysql-password=testprepare
上述参数指定了本次测试的表存储引擎类型为myisam,这里需要注意的是,官方网站上的参数有一处有误,即--mysql-table-engine,官方网站上写的是--mysql-table-type,这个应该是没有及时更新导致的。另外,指定了表最大记录数为1000000,其他参数就很好理解了,主要是指定登录方式。测试OLTP时,可以自己先创建数据库sbtest,或者自己用参数--mysql-db来指定其他数据库。--mysql-table-engine还可以指定为innodb等MySQL支持的表存储引擎类型。
好了,主要的就是这些了,想要了解更多信息就访问sysbench项目的主页吧。
相关文章
- 看完这篇,安装数据库不再求人!
- Mac上Oracle数据库的安装及过程中一些问题的解决
- 安装Oracle数据库:开启新的学习之旅(oracle数据库下载安装)
- MySQL 数据库操作:入门基础(mysql数据库操作)
- 使用 MySQL 数据库: 降低成本 增强性能(mysql数据库选择)
- Linux下快速部署MySQL数据库(linux下mysql安装)
- Oracle数据库逆向工程:减少工作量提高效率(oracle逆向工程)
- Oracle数据库快速下载与安装指南(oracle的下载安装)
- 对比分析:Oracle与NoSQL数据库的优劣比较(oracle与nosql)
- 如何在 Oracle 数据库中修改字段注释?(oracle修改字段注释)
- Neo4j 改变 NoSQL 数据库时代(neo4j nosql)
- Linux 系统下操作数据库的技巧(linux 操作数据库)
- PowerBuilder连接MS SQL Server数据库的指南(pb连接mssql数据库)
- MySQL 介绍:全面了解 MySQL 数据库的特性、用途、安装及配置步骤等。(mysql大全)
- Oracle数据库 支持全角字符识别(oracle 全角识别)
- 如何用CMD安装MySQL数据库(cmd怎么安装mysql)
- MySQL 32位版本解决你的数据库需求(32位的mysql版本)
- 在CRT终端中安装Oracle数据库(crt下安装oracle)
- 64位oracle8i支持更强大的企业数据库服务(64位oracle8i)
- 利用DBF文件还原Oracle数据库(dbf还原oracle)
- 安装时加入外部数据库示例(android外部数据库)