1、安裝supersmack
[url]https://vegan.net/tony/supersmack/[/url]
安裝過程以及我中間遇到問題的總結都在這裡。
之前記得把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
看到北京野狼的這個帖子:
[url]https://bbs.chinaunix.net/archiver/?tid-638662.html[/url]
[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
其他問題看
[url]https://vegan.net/tony/supersmack/FAQ.php[/url]
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的還差。