MySQL基准测试---sysbench

标签: mysql 基准测试 sysbench | 发表时间:2012-12-11 01:49 | 作者:一宁
出处:http://www.cnblogs.com/

 一、 在对网站整体性能进行benchmark时,可以使用多种工具,比如大名鼎鼎的ab(Apache bench),http_load等工具。这里我们不关注他们的使用,如果你想了解,可以去 这里

  重点来说MySQL的基准测试如何进行,也有很多种工具来供我们选择,比如mysqlslap、sysbench、Super Smack等,其中mysqlslap的使用MySQL官网给出了介绍,Super Smack是服务器压力测试强有力的工具,那么sysbench便是我们进行MySQL基准测试的很漂亮的工具了。

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

  在本次试验中,sysbench版本为:0.4.12 MySQL版本为:5.1.61 ubuntu版本为:10.10

  sysbench的基本用法通过 man sysbench 或者 sysbench --help可以方便的看到:

  sysbench [general-options]... --test=<test-name> [test-options] ... command

  general-options 暂且不说,test-name 包括fileio/cpu/memory/threads/mutex/oltp 等测试,command包括prepare/run/cleanup/help/version等

  (1)cpu测试

  sysbench采用寻找最大素数的方式来测试:命令如下

  root@ubuntu:~#sysbench --test=cpu --cpu-max-prime=1500 run

  

从total time: 一行可以看出在求得1500以内的最大素数时使用了3.2214s

  (2)fileio测试

  使用fileio测试,首先得生成文件,然后对文件或读或写,测试fileio性能

  生成文件:sysbench --test=fileio prepare ,使用fileio命令时,会有很多参数,可以使用--file-block-size指定单个文件大小,可以使用--file-total-size指定整个文件的大小,但是这里使用默认参数,单个文件大小为16M,整个文件大小为2G。如下所示:

  

这里总共生成了128个文件。读写文件sysbench --test=fileio --file-test-mode=rndrw run,如下所示:

  

在这份报告中,有两个参数很值得我们关注,即每秒的请求数和总体的吞吐量,比如上面的就是785.16 Requests/sec 和12.268Mb/sec,这两个参数对于评估磁盘的性能很有帮助。在完成测试后,需要将测试数据删除: sysbench --test=fileio cleanup

  (3)oltp 测试

  首先生成数据:sysbench --test=oltp --oltp-table-size=2000000 --oltp-table-name=tt --mysql-db=test --mysql-user=root --msyql-password=123 prepare ,这里测试用户名:root密码:123

生成数据后,进行测试,使用8个线程进行测试,如下所示:

  

以上数据对于分析多线程事务处理很有帮助,比如事务总统计数,每秒事务的处理量等等,

  sysbench对于其他的测试类似。。。


 

  二、对于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的强大功能以后再分析。

 

本文链接

相关 [mysql 基准测试 sysbench] 推荐:

MySQL基准测试---sysbench

- - 博客园_首页
 一、 在对网站整体性能进行benchmark时,可以使用多种工具,比如大名鼎鼎的ab(Apache bench),http_load等工具. 这里我们不关注他们的使用,如果你想了解,可以去 这里.   重点来说MySQL的基准测试如何进行,也有很多种工具来供我们选择,比如mysqlslap、sysbench、Super Smack等,其中mysqlslap的使用MySQL官网给出了介绍,Super Smack是服务器压力测试强有力的工具,那么sysbench便是我们进行MySQL基准测试的很漂亮的工具了.

sysbench测试MySQL服务器性能(cpu,io,内存,mysql等)

- - CSDN博客数据库推荐文章
Sysbench的安装请参考http://blog.csdn.net/mchdba/article/details/8951289. sysbench采用寻找最大素数的方式来测试CPU的性能. 首先生成需要的测试文件,文件总大小1000M,16个并发线程,随机读写模式. 执行完后会在当前目录下生成一堆小文件.

sysbench安装、使用、结果解读

- - MySQL中文网
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. 目前sysbench代码托管在launchpad上,项目地址: https://launchpad.net/sysbench(原来的官网 http://sysbench.sourceforge.net 已经不可用),源码采用bazaar管理.

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

MySQL Replication 线程

- - CSDN博客推荐文章
Replication 线程. Mysql 的Replication 是一个异步的复制过程,从一个Mysql instace(我们称之为Master)复制到另一个Mysql instance(我们称之Slave). 在Master 与Slave 之间的实现整个复制过程主. 要由三个线程来完成,其中两个线程(Sql 线程和IO 线程)在Slave 端,另外一个线程(IO 线程)在Master 端.

mysql backup 脚本

- - ITeye博客
网上备份脚本很多,但考虑都不周全. 保证创建备份文件只能是创建者跟root可以访问,其他用户没有权限,保证了数据库备份的安全. 上面脚本是负责备份的份数管理,. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Oracle MySQL Or NoSQL续

- - Sky.Jian 朝阳的天空
接前面一篇,这里再将之前在“中国系统架构师大会”5周年的时候发布的纪念册“IT架构实录”上的一篇文章发出来,也算是前面博文中PPT的一个文字版解读吧. Oracle,MySQL 还是 NoSQL. 随着阿里系的“去IOE”运动在社区的宣传声越来越大,国内正在掀起一股“去xxx”的技术潮. 不仅仅是互联网企业,包括运营商以及金融机构都已经开始加入到这个潮流之中.

mysql优化

- - 数据库 - ITeye博客
公司网站访问量越来越大,MySQL自然成为瓶颈,因此最近我一直在研究 MySQL  的优化,第一步自然想到的是 MySQL 系统参数的优化,作为一个访问量很大的网站(日20万人次以上)的数据库系统,不可能指望 MySQL  默认的系统参数能够让 MySQL运行得非常顺畅. 在Apache, PHP,  MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.

MySql动态SQL

- - SQL - 编程语言 - ITeye博客
13.7. 用于预处理语句的SQL语法. MySQL 5.1对服务器一方的预制语句提供支持. 如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势. 候选界面包括MySQL C API客户端库(用于C程序)、MySQL Connector/J(用于Java程序)和MySQL Connector/NET.

MySQL 性能

- - 谁主沉浮
这里罗列了一些基本的 MySQL 性能提示,但不是放之四海而皆准,需要根据实际的应用情况而决定. 使用标准化设计(数据库三范式),记住表的联合查询(join)性能不会差. 选择合适的字符集,虽然UTF16无所不能,但需要两倍的存储;UTF8适合各种字符,但比latin1慢,尽可能选用latin1(此条不适合中文).