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-mysqlconfigure: 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-mysqlloading cache ./config.cachechecking for a BSD compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking whether make sets ${MAKE}... yes...updating cache ./config.cachecreating ./config.statuscreating Makefilecreating src/Makefilecreating config.hBuilding with the following options:MySQL Support..................... yesPostgreSQL Support................ noOracle 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 1000Error running query select count(*) from http_auth:Table 'test.http_auth' doesn't existCreating table 'http_auth'Loading data from file '/var/smack-data/words.dat' into table 'http_auth'Table http_auth is now ready for the testQuery Barrel Report for client smacker1connect: max=156ms min=0ms avg= 21ms from 10 clients Query_type num_queries max_time min_time q_per_sselect_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 1000Query Barrel Report for client smacker1connect: 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 1000Query Barrel Report for client smacker1connect: max=3ms min=0ms avg= 0ms from 10 clients Query_type num_queries max_time min_time q_per_sselect_index 20000 3 1 2587.91看一下update的。[root@localhost smacks]# super-smack -d mysql update-select.smack 100 10000Table 'http_auth' does not meet condtions, will be droppedCreating table 'http_auth'Loading data from file '/var/smack-data/words.dat' into table 'http_auth'Table http_auth is now ready for the testQuery Barrel Report for client smackerconnect: max=752ms min=0ms avg= 108ms from 100 clients Query_type num_queries max_time min_time q_per_sselect_index 1000000 19 0 3837.48update_index 1000000 20 0 3837.48这个测试结果怎么表名MYISAM表的SELECT比INNODB的还差。具体原因我会找找看。