zoukankan      html  css  js  c++  java
  • mysql性能测试--sysbench实践

    Sysbench

     
    • 业界较为出名的性能测试工具
    • 可以测试磁盘,CPU,数据库
    • 支持多种数据库:oracle,DB2,MYSQL
    • 需要自己下载编译安装
    • 建议版本:sysbench0.5
     
    sysbench,不仅用来测试数据库的性能,也可以测试运行数据库的服务器的性能。
     
    强烈建议熟悉sysbench测试,在mysql用户的工具包中,这应该是最有用的工具之一。
     
    • sysbench 的cpu基准测试
    • sysbench 的文件I/O基准测试
    • sysbench 的OLTP基准测试
     
    sysbench 其他的基准测试,但和数据库性能没有直接关系。
    • 内存-----测试内存的连续读写性能
    • 线程-----测试线程调度器的性能。
    • 互斥锁---测试互斥锁性能。
    • 顺序写---测试顺序写的性能。
     
    问题:
    • 表结构单一
    • 没有相关约束和索引
    • 测试的SQL语句相对简单
     
     
    使用方法

     
    1.下载sysbench
     
    复制代码
    git clone https://github.com/akopytov/sysbench
     
    目录结构
    root@itcast01:/home/aiapple/sysbench# ls
    autogen.sh  configure.ac  install-sh   missing        README-WIN.txt
    ChangeLog   COPYING       m4           mkinstalldirs  sysbench
    config      doc           Makefile.am  README.md      TODO
    复制代码
     
    2. 编译&安装
     
    ./autogen.sh
    ./configure --prefix=/home/sysbench
    make
    make install
     
     
    3. sysbench流程
    • 初始化数据(prepare)
    • 运行测试(run)
    • 清理数据(cleanup)
     
    a)初始化数据prepare:
     
    sysbench --test=parallel_prepare.lua --oltp_tables_count=1 --rand-init=on --oltp-table-size=500000000 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-requests=0 prepare
     
     
    sysbench表结构
     
    b)运行测试--run
     
    sysbench --test=oltp.lua --oltp_tables_count=1 --num-threads=100 --oltp-table-size=500000000 --oltp-read-only=off --report-interval=10 --rand-type=uniform --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-time=1000 --max-requests=0 run
    特殊情况
    • 写入测试(纯insert情况)
     
    数据解读
    运行数据
    [10s]--------------运行时间点
    Threads:100------100个线程数
    tps:378.90---------每秒执行378.9个事务
    reads:-------------读请求数
    writes:------------写请求数
    response time:--响应时间
    errors:-------------错误个数
    reconnects:-------重新连接个数
     
    数据汇总
    关注
    • 响应时间
    • tps
    c)清理数据(cleanup)
    • 手动drop表和database
    • 使用sysbench提供的cleanup命令
     
    使用sysbench清理数据
    sysbench --test=parallel_prepare.lua --oltp_tables_count=1 --rand-init=on --oltp-table-size=500000000 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-requests=0 cleanup
     
  • 相关阅读:
    Ubuntu下官方QQ崩溃的解决
    [转]PHP函数的实现原理及性能分析
    [收藏的资料]301重定向的实现方法
    手动配置Ubuntu 指定DNS服务器地址
    C# FTP操作类
    vs2010 快捷键大全
    分享一个不错的VS插件——CodeMap
    C# 快速的批量修改重命名.net程序的命名空间(一)转 tianyaxiang
    jquery 的 ajax 程序 简单的
    winform窗体间传值
  • 原文地址:https://www.cnblogs.com/youngerger/p/9022966.html
Copyright © 2011-2022 走看看