您的位置:首页 > 数据库 > MySQL

对MYSQL进行压力测试

2008-01-16 11:21 330 查看
1、安装supersmack
http://vegan.net/tony/supersmack/
安装过程以及我中间遇到问题的总结都在这里。

之前记得把libmysqlclient.so.16拷贝到/usr/lib中去,这样make 的时候不用改MakeFile文件。
[root@localhost super-smack-1.3]# cp /usr/local/mysql/libmysqlclient.so.16 /usr/lib

我遇到的问题如下:
error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
看到北京野狼的这个帖子:
http://bbs.chinaunix.net/archiver/?tid-638662.html

[root@localhost super-smack-1.2]# ./configure --with-mysql
configure: error: installation or configuration problem: C++ compiler cannot create executables.
没有安装C++编译器

[root@localhost rpmpackage]# rpm -ivh libc-client-2004g-2.2.1.i386.rpm
Preparing... ########################################### [100%]
1:libc-client ########################################### [100%]
[root@localhost rpmpackage]# rpm -ivh libc-client-devel-2004g-2.2.1.i386.rpm
Preparing... ########################################### [100%]
1:libc-client-devel ########################################### [100%]

[root@localhost rpmpackage]# rpm -ivh libstdc++-devel-4.1.1-52.el5.i386.rpm
Preparing... ########################################### [100%]
1:libstdc++-devel ########################################### [100%]
[root@localhost rpmpackage]# rpm -ivh gcc-c++-4.1.1-52.el5.i386.rpm
Preparing... ########################################### [100%]
1:gcc-c++ ########################################### [100%]

[root@localhost rpmpackage]# cd ../sourcepackage/super-smack-1.2
[root@localhost super-smack-1.2]# ./configure --with-mysql
loading cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
...
updating cache ./config.cache
creating ./config.status
creating Makefile
creating src/Makefile
creating config.h

Building with the following options:

MySQL Support..................... yes
PostgreSQL Support................ no
Oracle Support.................... no

If this is not what you intended, please re-run configure.

Thanks for using super-smack!
然后make;make install
其他问题看
http://vegan.net/tony/supersmack/FAQ.php

2、进行实际测试。
拷贝示例文件。
[root@localhost super-smack-1.3]# cp -r smacks/ /usr/local/bin/
修改用户名和密码为自己的

默认是测试MYISAM表的性能。

[root@localhost smacks]# super-smack -d mysql select-key.smack 10 1000
Error running query select count(*) from http_auth:Table 'test.http_auth' doesn't exist
Creating table 'http_auth'
Loading data from file '/var/smack-data/words.dat' into table 'http_auth'
Table http_auth is now ready for the test
Query Barrel Report for client smacker1
connect: max=156ms min=0ms avg= 21ms from 10 clients
Query_type num_queries max_time min_time q_per_s
select_index 20000 0 0 16299.96

10 是连接客户的数目,每个客户有100次轮询。
结果表示:super-smack总共执行了2W次查询,每秒执行16299.96 条数据

下来测试innodb 表
进入MYSQL的SHELL,修改表类型
mysql> alter table http_auth engine innodb;
Query OK, 90000 rows affected (15.18 sec)
Records: 90000 Duplicates: 0 Warnings: 0

[root@localhost smacks]# super-smack -d mysql select-key.smack 10 1000
Query Barrel Report for client smacker1
connect: max=117ms min=0ms avg= 18ms from 10 clients
Query_type num_queries max_time min_time q_per_s
select_index 20000 0 0 16747.00
[root@localhost smacks]#
接下来测试集群的

mysql> alter table http_auth engine ndb;
Query OK, 90000 rows affected (11.14 sec)
Records: 90000 Duplicates: 0 Warnings: 0

[root@localhost smacks]# super-smack -d mysql select-key.smack 10 1000
Query Barrel Report for client smacker1
connect: max=3ms min=0ms avg= 0ms from 10 clients
Query_type num_queries max_time min_time q_per_s
select_index 20000 3 1 2587.91

看一下update的。
[root@localhost smacks]# super-smack -d mysql update-select.smack 100 10000
Table 'http_auth' does not meet condtions, will be dropped
Creating table 'http_auth'
Loading data from file '/var/smack-data/words.dat' into table 'http_auth'
Table http_auth is now ready for the test
Query Barrel Report for client smacker
connect: max=752ms min=0ms avg= 108ms from 100 clients
Query_type num_queries max_time min_time q_per_s
select_index 1000000 19 0 3837.48
update_index 1000000 20 0 3837.48

这个测试结果怎么表名MYISAM表的SELECT比INNODB的还差。
具体原因我会找找看。
本文出自 “上帝,咱们不见不散!” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: