mysql压力测试---sysbench

一、sysbench简介

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。


二、sysbench安装

下载sysbench-0.4.12.tar.gz

tar -xvf sysbench-0.4.12.tar.gz

如果 MySQL 并不是安装在标准目录下的话,那么就需要自己指定 MySQL 的路径了。

编译安装:

cd sysbench-0.4.12
./configure --with-mysql-includes=/usr/local/mysqlndb/include \
--with-mysql-libs=/usr/local/mysql/lib
make
make install


三、测试

测试分为prepare、run、cleanup.


ndbcluster测试prepare  

sysbench --test=oltp \
--mysql-table-engine=innodb \
--oltp-table-size=100000 \
--mysql-user=root --mysql-password="" \
--mysql-socket=/usr/local/mysql/tmp/mysql.sock \
--db-driver=mysql \
--num-threads=8 prepare


分别测试线程说为8,16,32

下面以线程数量为8进行测试

并发线程数量:8

sysbench --test=oltp \
--mysql-table-engine=innodb \
--oltp-table-size=100000 \
--mysql-user=root --mysql-password="" \
--mysql-socket=/usr/local/mysql/tmp/mysql.sock \
--db-driver=mysql \
--num-threads=8 run

测试结果:
OLTP test statistics:
    queries performed:
        read:                            140000	---读总量
        write:                           50000	---写总量
        other:                           20000	---其它操作总量(SELECT,INSERT,UPDATE,DELETE之外的操作,例如:commit等)
        total:                           210000	---全部总数
    transactions:                        10000  (916.25 per sec.)	---总事务数(每秒事务数)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (17408.82 per sec.)	---读写总数(每秒读写次数)
    other operations:                    20000  (1832.51 per sec.)	---其它操作(每秒其它操作次数)

Test execution summary:
    total time:                          10.9140s	---总耗时
    total number of events:              10000		---共发生多少事务
    total time taken by event execution: 86.8783	---所有事务耗时相加(不考虑并行因素)
    per-request statistics:												--相应时间
         min:                            0.0019s	--最小耗时
         avg:                            0.0087s	--平均耗时
         max:                            0.6878s	--最长耗时
         approx.  95 percentile:         0.0147s	--超过95%平均耗时

Threads fairness:
    events (avg/ ):           1250.0000/29.35
    execution time (avg/stddev):   10.8598/0.02

ndbcluster  cleanup

sysbench --test=oltp \
--mysql-table-engine=ndbcluster \
--mysql-db=ndb \
--oltp-table-size=100000 \
--mysql-user=root --mysql-password="" \
--mysql-socket=/usr/local/mysql/tmp/mysql.sock \
--db-driver=mysql \
--num-threads=8 cleanup

    


Innodb测试prepare 

sysbench --test=oltp \
--mysql-table-engine=innodb \
--mysql-db=test \
--oltp-table-size=100000 \
--mysql-user=root --mysql-password="" \
--mysql-socket=/usr/local/mysql/tmp/mysql.sock \
--db-driver=mysql \
--num-threads=8 prepare

Innodb  run

sysbench --test=oltp \
--mysql-table-engine=innodb \
--mysql-db=test \
--oltp-table-size=100000 \
--mysql-user=root --mysql-password="" \
--mysql-socket=/usr/local/mysql/tmp/mysql.sock \
--db-driver=mysql \
--num-threads=8 run



Innodb cleanup

sysbench --test=oltp \
--mysql-table-engine=innodb \
--mysql-db=test \
--oltp-table-size=100000 \
--mysql-user=root --mysql-password="" \
--mysql-socket=/usr/local/mysql/tmp/mysql.sock \
--db-driver=mysql \
--num-threads=8 cleanup






你可能感兴趣的:(多线程,oracle,数据库,include,压力测试)