zoukankan      html  css  js  c++  java
  • mysql benchmark基准测试

    git项目地址:

    https://github.com/akopytov/sysbench

    利用sysbench很容易对mysql做性能基准测试(当然这个工具很强大,除了测试主流数据库性能,还能测试其它方面,详情自己看官网项目文档)

    mac上的用法:

    一、安装 

    brew install sysbench

    二、先在mysql上创建一个专门的测试数据库,比如test

    三、利用sysbench先生成测试数据 

    sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test 
    --mysql-table-engine=innodb 
    --mysql-host=localhost 
    --mysql-db=test 
    --mysql-user=root 
    --mysql-password=*** 
    prepare
    

    上面这一堆的意思,是在本机localhost的test数据库的t_test中创建500万条测试数据,表的数据库引擎为innodb.

    tips:如果想知道还有哪些参数可用,可输入命令

    sysbench --test=oltp help
    

    centos上如果用yum install sysbench安装的话,运行时可能会出现

    FATAL: no database driver specified
    FATAL: failed to initialize database driver!

    可以加上参数 --db-driver=mysql ,原因是yum方式安装时,同时安装了mysql与其它数据库的驱动,不指定驱动类型的话,sysbench不知道你是要测试是mysql,还是oracle之类的其它数据库

       

    四、运行测试

    sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test 
    --mysql-table-engine=innodb 
    --mysql-host=localhost 
    --mysql-db=test 
    --mysql-user=root 
    --mysql-password=*** 
    run
    

    最后一个prepare改成run就行了,测试完后,会输出类似以下结果:

    sysbench 0.4.12:  multi-threaded system evaluation benchmark
    
    No DB drivers specified, using mysql
    Running the test with following options:
    Number of threads: 1
    
    Doing OLTP test.
    Running mixed OLTP test
    Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)
    Using "BEGIN" for starting transactions
    Using auto_inc on the id column
    Maximum number of requests for OLTP test is limited to 10000
    Threads started!
    Done.
    
    OLTP test statistics:
        queries performed:
            read:                            140000
            write:                           50000
            other:                           20000
            total:                           210000
        transactions:                        10000  (514.48 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 190000 (9775.14 per sec.)
        other operations:                    20000  (1028.96 per sec.)
    
    Test execution summary:
        total time:                          19.4371s
        total number of events:              10000
        total time taken by event execution: 19.3581
        per-request statistics:
             min:                                  1.65ms
             avg:                                  1.94ms
             max:                                 13.48ms
             approx.  95 percentile:               2.34ms
    
    Threads fairness:
        events (avg/stddev):           10000.0000/0.00
        execution time (avg/stddev):   19.3581/0.00
    

    一般我们比较关心:

        transactions:                        10000  (514.48 per sec.)
    
        read/write requests:                 190000 (9775.14 per sec.)
    

    这代表每秒能处理的事务数,以及每秒的读写次数。

    五、清理测试数据

    sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test 
    --mysql-table-engine=innodb 
    --mysql-host=localhost 
    --mysql-db=test 
    --mysql-user=root 
    --mysql-password=*** 
    cleanup
    

    最后一个换成cleanup即可。 

    春晚实在太无聊了,还不如写二行代码有意思,祝各位园友猴年大吉,身体健康,心想事成!

  • 相关阅读:
    bootstrap添加模态窗后,再弹出消息提示框后,原先的滚动条消失
    改变input[type=file]的默认样式
    javascript判断访问终端,手机端自动跳转
    sublime安装插件autoprefixer
    android 自动化压力测试-monkey 1 实践
    python 网络编程-TCP/UDP
    python 正则表达式
    Python 读写excel数据
    Python 删除列表中的重复数据
    Python python 基本语法
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/mysql-benchmark-use-sysbench.html
Copyright © 2011-2022 走看看