单组件式测试工具
有一些有用的工具可以测试MySQL 和基于MySQL 的系统的性能 节将演示如何利用这些工具进行测试
mysqlslap
mysqlslap(http://devmysqlcom/doc/refman//en/mysqlslaphtml)可以模拟服务器的负载并输出计时信息它包含在MySQL 的发行包中应该在MySQL 或者更新的版本中都可以使用测试时可以执行并发连接数并指定SQL 语句(可以在命令行上执行也可以把SQL 语句写入到参数文件中)如果没有指定SQL 语句mysqlslap 会自动生成查询schema 的SELECT 语句
MySQL Benchmark Suite (sqlbench)
在MySQL 的发行包中也提供了一款自己的基准测试套件可以用于在不同数据库服务器上进行比较测试它是单线程的主要用于测试服务器执行查询的速度结果会显示哪种类型的操作在服务器上执行得更快
这个测试套件的主要好处是包含了大量预定义的测试容易使用所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试其也可以用于高层次测试比较两个服务器的总体性能当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能)这些测试大部分是CPU 密集型的但也有些短时间的测试需要大量的磁盘I/O 操作
这个套件的最大缺点主要有它是单用户模式的测试的数据集很小且用户无法使用指定的数据并且同一个测试多次运行的结果可能会相差很大因为是单线程且串行执行的所以无法测试多CPU 的能力只能用于比较单CPU 服务器的性能差别使用这个套件测试数据库服务器还需要Perl 和BDB 的支持相关文档请参考http://devmysqlcom/doc/en/mysqlbenchmarkshtml/
Super Smack
Super Smack(http://vegannet/tony/supersmack/)是一款用于MySQL 和PostgreSQL的基准测试工具可以提供压力测试和负载生成这是一个复杂而强大的工具可以模拟多用户访问可以加载测试数据到数据库并支持使用随机数据填充测试表测试定义在smack文件中smack 文件使用一种简单的语法定义测试的客户端表查询等测试要素
Database Test Suite
Database Test Suite 是由开源软件开发实验室(OSDLOpen Source DevelopmentLabs)设计的发布在SourceForge 网站(http://sourceforgenet/projects/osdldbt/)上这是一款类似某些工业标准测试的测试工具集例如由事务处理性能委员会(TPCTransaction Processing Performance Council)制定的各种标准特别值得一提的是其中的dbt 就是一款免费的TPCC OLTP 测试工具(未认证)之前本书作者经常使用该工具不过现在已经使用自己研发的专用于MySQL 的测试工具替代了
Perconas TPCCMySQL Tool
我们开发了一个类似TPCC 的基准测试工具集其中有部分是专门为MySQL 测试开发的在评估大压力下MySQL 的一些行为时我们经常会利用这个工具进行测试(简单的测试一般会采用sysbench 替代)该工具的源代码可以在https://launchpadnet/perconatools 下载在源码库中有一个简单的文档说明
sysbench
sysbench(https://launchpadnet/sysbench)是一款多线程系统压测工具它可以根据影响数据库服务器性能的各种因素来评估系统的性能例如可以用来测试文件I/O操作系统调度器内存分配和传输速度POSIX 线程以及数据库服务器等sysbench 支持Lua 脚本语言(http://wwwluaorg)Lua 对于各种测试场景的设置可以非常灵活sysbench 是我们非常喜欢的一种全能测试工具支持MySQL操作系统和硬件的硬件测试
返回目录高性能MySQL
编辑推荐
ASP NET开发培训视频教程
数据仓库与数据挖掘培训视频教程
Oracle索引技术