• 对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.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的还差。
    具体原因我会找找看。

     


    收藏到:Del.icio.us




发表评论

您将收到博主的回复邮件
记住我