sysbench的安装与使用
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL
安装过程(rhel5.8+mysql5.5)
安装过程中不断报错,参考了众多网上资料,一上午时间才搞定
1, 环境准备,安装相关软件包,挂载光驱,配置yum
mount -o loop /data/rhel-server-5.9-x86_64-dvd.iso /mnt/cdrom
配置yum
vi /etc/yum.repos.d/rhel58.repo
[Server]
name=rhel58server
baseurl=file:///mnt/cdrom/Server/
enable=1
gpcheck=1
gpgkey=file:///mnt/cdrom/Server/RPM-GPG-KEY-redhat-release
2, 安装相关软件包,要不可能会报错(注意要安装mysql-devel)
yum install automake
yum install libtool
yum install zlib
yum install gcc
yum install gcc glibc-devel glibc-headers glibc-kernheaders
3, 正式安装
A,解压缩
tar zxvf sysbench-0.4.8.tar.gz
b,修改配置文件
vi configure.ac
# Checks for programs.
AC_PROG_CC
#AC_PROG_LIBTOOL
AC_PROG_RANLIB
AX_CHECK_DOCBOOK
C,分别执行如下命令,
./autogen.sh
./configure --with-mysql-includes=/usr/include/mysql \
--with-mysql-libs=/usr/lib64/mysql \
LDFLAGS='-ldl'
make
makeinstall
安装中的相关问题
1,copy config.guess and config.sub from /usr/share/libtool to current directory, then ./configure
2,报错:报错client_plugin.c:178: undefined reference to `dlclose' sysbench的问题
./config 命令添加LDFLAGS='-ldl'参数
具体测试方法
1、cpu性能测试
sysbench --test=cpu --cpu-max-prime=20000 run
cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为 20000,自己可以根据机器cpu的性能来适当调整数值。
2、线程测试
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁盘IO性能测试
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
上述参数指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。
4、内存测试
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run
上述参数指定了本次测试整个过程是在内存中传输 4G 的数据量,每个 block 大小为 8K。
5、OLTP测试
sysbench --test=oltp --mysql-table-engine=innodb --mysql-user=root --db-driver=mysql --mysql-db=sbtest --oltp-table-size=30000000 --oltp-table-name=t2 --oltp-nontrx-mode=insert --mysql-socket=/var/lib/mysql/mysql.sock prepare
sysbench --test=oltp --mysql-table-engine=innodb --mysql-user=root --db-driver=mysql --mysql-db=sbtest --oltp-table-size=30000000 --oltp-table-name=t1 --mysql-socket=/var/lib/mysql/mysql.sock run
参考资料
http://imysql.cn/node/312