對MYSQL進行壓力測試

 

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的還差。

發佈留言