Heim > Datenbank > MySQL-Tutorial > MySQL基准测试---sysbench_MySQL

MySQL基准测试---sysbench_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:37:56
Original
844 Leute haben es durchsucht

bitsCN.com

MySQL基准测试---sysbench

 

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

  重点来说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-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

 

  MySQL基准测试---sysbench_MySQL

 

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

 

  (2)fileio测试

 

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

 

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

 

  MySQL基准测试---sysbench_MySQL

 

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

  MySQL基准测试---sysbench_MySQL

 

在这份报告中,有两个参数很值得我们关注,即每秒的请求数和总体的吞吐量,比如上面的就
是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个线程进行测试,如下所示:

 

MySQL基准测试---sysbench_MySQL

 

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

 

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

 

bitsCN.com
Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage