网络编程
位置:首页>> 网络编程>> 数据库>> 实例剖析:MySQL数据库优化详解(5)

实例剖析:MySQL数据库优化详解(5)

作者:叶金荣 来源:天极yesky 发布时间:2008-11-22 12:19:00 

标签:

1.4 MySQL 基准套件

本章本来要包括MySQL基准套件(以及 crash-me)的技术描述的,但是至今还未写。现在,您可以通过查看MySQL发布源代码 `sql-bench' 目录下的代码以及结果有一个更好的想法。

基准套件就是想告诉用户执行什么样的SQL查询表现的更好或者更差。

请注意,这个基准是单线程的,因此它度量了操作执行的最少时间。我们未来打算增加多线程测试的基准套件。

想要使用基准套件,必备以下几个条件:

基准套件在MySQL的发布源代码中就有。可以去 http://dev.mysql.com/downloads/ 下载发布版或者使用现有开发代码树(详情请看"2.3.3 Installing from the Development Source Tree")。

基准脚本是用Perl写的,它用Perl的DBI模块来连接数据库,因此必须安装DBI模块。并且还需要每个要做测试的服务器上都有特定的BDB驱动程序。例如,为了测试MySQL、PostgreSQL和DB2,就必须安装 DBD::mysql, DBD::Pg 及 DBD::DB2 模块。详情请看"2.7 Perl Installation Note"。

取得MySQL的分发源代码后,就能在 `sql-bench' 目录下看到基准套件。想要运行这些基准测试,请先搭建好服务,然后进入 `sql-bench' 目录,执行 run-all-tests 脚本:

#cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0">

以下为引用的内容:

  shell> cd sql-bench

  shell> perl run-all-tests --server=server_name

  server_name 可以是任何一个可用的服务。想要列出所有的可用选项和支持的服务,只要调用以下命令:

  shell> perl run-all-tests --help

crash-me 脚本也是放在 `sql-bench' 目录下。crash-me 通过执行真正的查询以试图判断数据库都支持什么特性、性能表现以及限制。例如,它可以判断:

都支持什么字段类型

支持多少索引

支持什么样的函数

能支持多大的查询

VARCHAR 字段类型能支持多大

可以从 http://dev.mysql.com/tech-resources/crash-me.php 上找到各种不同数据库 crash-me 的结果。更多的信息请访问 http://dev.mysql.com/tech-resources/benchmarks。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com