-
对MYSQL进行压力测试 - [dba]
2008-05-12
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://timoqi.blogbus.com/logs/20756526.html
转自 http://freeke.blog.sohu.com/83574992.html
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.hBuilding with the following options:
MySQL Support………………… yes
PostgreSQL Support……………. no
Oracle Support……………….. noIf this is not what you intended, please re-run configure.
Thanks for using super-smack!
然后make;make install
其他问题看
http://vegan.net/tony/supersmack/FAQ.php2、进行实际测试。
拷贝示例文件。
[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.9610 是连接客户的数目,每个客户有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的还差。
具体原因我会找找看。随机文章:
性能测试(并发负载压力)测试分析 2008-05-12mysql中一些常用的操作 2008-04-16Mysql中limit的用法详解 2008-03-26mysql下EXPLAIN语法 2008-03-26MySQL InnoDB存储引擎的事务隔离级别 2008-03-18
收藏到:Del.icio.us





