Chinaunix首页 | 论坛 | 博客
  • 博客访问: 428600
  • 博文数量: 137
  • 博客积分: 5190
  • 博客等级: 大校
  • 技术积分: 997
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-21 16:19
文章存档

2011年(17)

2010年(120)

我的朋友

分类: Mysql/postgreSQL

2010-02-21 16:43:51

构建高性能的MYSQL数据库-sql-bench(单一组件测试)(2009-12-22 10:32:04)

 

 

sql-bench是mysql自带做基准测试的工具,在mysql目录下有个sql-bench子目录,里面存放着测试程序,这些程序都是perl实现的。下面介绍几个常用的程序:

# /usr/local/mysql/sql-bench/run-all-tests –server=mysql –user=root –password=123456 –log –fast

以上是全局测试,包括增删改查等操作,以快速的方式进行事务操作。如果出现以下错误:

install_driver(mysql) failed: Can’t locate DBD/mysql.pm

解决方法是安装一个DBD-MYSQL包即可,下载地址为:

安装方法:

# wget

# tar zxvf DBD-mysql-2.9005.tar.gz

# cd DBD-mysql-2.9005

# perl Makefile.PL –testdb=test –testuser=root –testpassword=”123456″

# make

# make test

# make install

到此DBD-MYSQL就安装完成了,当然如果没有出现上面那个错误可以不用操作这些步骤。

# /usr/local/mysql/sql-bench/test-insert –server=mysql –user=root –password=123456

这个命令是测试数据库的插入性能,默认是插入300000条数据。

# /usr/local/mysql/sql-bench/test-connect –server=mysql –user=root –password=123456

可想而知,这个命令则是测试数据库连接性能。

# /usr/local/mysql/sql-bench/test-select –server=mysql –user=root –password=123456

这个当然是测试数据库的查询性能了。

其实MYSQL自带的还有其他各种测试,这里就不一一介绍了,基本是大同小异,至于测试结果,主要显示是CPU耗费的资源,包括用户,系统的占用情况,当测试结束后,它会自动将结果以文本文件格式保存到 /usr/local/mysql/sql-bench/output 目录下,方便以后分析。

4、super smack(单一组件测试)

super smack是一个强大的广受赞誉的压力测试工具,支持MySQL和PostgreSQL数据库。下载地址为:

下载,解压并安装:

# wget

# tar xvzf super-smack-1.3.tar.gz

# cd super-smack-1.3

# ./configure –prefix=/usr/local/supersmack –with-mysql –with-mysql-lib=/usr/local/mysql/lib –with-mysql-include=/usr/local/mysql/include

# make & make install

配置测试信息:

# cp /usr/share/smacks/select-key.smack ./select-key.smack

# vi select-key.smack

文件中的信息,基本就修改用户名和密码即可,保证数据库可以正常操作,下面开始测试:

# /usr/local/supersmack/bin/super-smack -d mysql select-key.smack 10 100

这个命令意思模拟10个用户,每个用户进行100次事务操作。命令首先会通过执行 gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d’ ,将输出的信息插入到 /var/smack-data/words.dat文件中。然后在test数据库中创建一个http_auth表,最后将 words.dat文件的信息插入到http_auth表中。测试结果如下:

测试结果分析:

来自10个模拟用户,连接时间最长为79ms,最小0ms,平均为16ms,super-smack总共执行了2000个查询,每个查询都小于1毫秒,服务器平均每秒执行7802.08次select_index型查询。

阅读(1246) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~