mysql官方基准测试结果_mysql基准测试总结 一

先说下,mysql进行基准测试的工具及安装、基本使用。

mysql的基准测试工具有很多,如mysqlslap、sysbench、Super Smack等;我们使用sysbench进行测试之旅。

sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL;

1、安装sysbench

# 安装

>>> tar -zxvf sysbench-0.4.12.tar.gz

>>> cd sysbench-0.4.12

>>> ./autogen.sh

>>> vim aclocal.m4

LIBTOOL='$(SHELL) 自己的libool的路径'   # 修改成  /usr/bin/libtool

AC_SUBST(LIBTOOL)dnl

>>> ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib

>>> make

>>> make install

可能遇到的错误:

a、cannot find -lmysqlclient_r

/usr/bin/ld: cannot find -lmysqlclient_r

collect2: ld returned 1 exit status

make[2]: *** [sysbench] Error 1

解决办法: find / -name *mysqlclient_r*

ln -s /usr/local/mysql/lib/libmysqlclient_r.so /usr/lib/libmysqlclient.so

b、别人遇到的问题,在这里记录一下

./sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

Solution:

export LD_LIBRARY_PATH=/usr/local/mysql/lib

或者添加到/etc/profile里.

./configure --with-mysql-includes=/usr/local/mysql/include/ --with-mysql-libs=/usr/local/mysql/lib/

make && make install

2、进行测试

a、基本语法

cpu性能测试

>>> sysbench --test=cpu --cpu-max-prime=20000 run

结果:

065210e5b5795e9d93b724f465b9cc5c.png

线程测试

sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

结果:

ae6125f3a7e616f86b86e5bfd55443fc.png

文件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

内存测试

>>> sysbench --test=memory --memory-block-size=8k --memory-total-size=1G

oltp测试

>>> sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost --mysql-password=test --mysql-db=test prepare

>>> sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost --mysql-password=test --mysql-db=test run

>>> sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost --mysql-password=test --mysql-db=test cleanup

Copy:

对于MySQL的性能分析,在服务器内部有很多很好的命令来供我们使用,比如show status/show processlist/show innodb status

使用show status 中,“Select%”一般指不同类型的连接执行计划,“Handler%”一般指存储引擎的相关信息,“Sort%”一般指排序的相关信息,“Created%”一般指新建临时表的相关信息。一般也可以使用mysqlreport对信息进行统计打印。而show processlist 也打印出了相关参数,此时可以使用Innotop代替进行方便分析,或者使用mytop来分析。如果是在回话中使用,则需要添加session 参数,即show session status; 使用show processlist 可以定位到mysql连接和进程故障,这一功能一般需要和prep netstat psof ps等联合使用。使用tcpdump工具可以抓包分析流量。innotop 和tcpdump的强大功能以后再分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值