zoukankan      html  css  js  c++  java
  • Mysql 基准测试mysqlslap,sysbench

     

     

     基准测试基本步骤

     

     

    设计尽可能简单,明确测试方式哪一种,使用什么样的数据

    例如:反映实际情况,用生产环境的数据的备份,可以通过日志,进行访问量的回放

            如果测试性能,可以用测试工具生成数据。

    执行一次和 很短时间是没有意义的,多次结果的平均值。尽可能多收集相关信息

    基准测试文件下载

    分析文件下载

    开始实际进行测试

    mysqlslap --help  检查是否安装mysqlslap测试工具

    mysqlslap --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-charcols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest

    参数说明

    --concurrency=1,50,100,200  指定并发数量1个并发,50个并发,100个并发,200个并发

    --iterations=3  完成3次测试

    --number-int-cols=5  生成的整数行

    --number-charcols=5    varchar列也是5行

    --auto-generate-sql  自动生成sql 

    --auto-generate-sql-add-autoincrement  自动生成自增ID

    --engine=myisam,innodb   需要测试的引擎

    --number-of-queries=10  指定查询量 10次

    --create-schema=sbtest  指定一个目录 

    执行完之后,增加下面命令在运行一下

    --only-print 查看执行的脚本,并不运行 脚本,看一看究竟运行 了什么

    另一款性能测试工具sysbench

    mysqlslap  测试方案不能很好的测试性能,并没有建立索引。 cpu,内存,IO无能为力

    sysbench支持脚本语言,可以自定义设置。可以权威的测试工具,常用的。测试方式接近innodb测试方式

     

    由于视频语音错误,只有截图。还需要查资料。

    cd svsbench-0.5

    cd tests

    cd db

    ls *.lua

     

    sysbench --test=cpu --cpu-max-prime=10000  测试cpu性能 cpu所要计算最大转换值10000,只测试了单核cpu的性能

    free -m 查看操作系统内存量,

    当前虚拟机内存512M,测试文件要大于512M,这里设定为1G。

    sysbench --test=fileio --file-total-size=1G prepar      对文件IO进行,测试文件尺寸1G。prepar开始准备

    所有文件相加大概是1G

    sysbench --test=fileio --num-threads=8 --init-rng=on --file-total-size=1G --file-test-mode=rndrw --report-interval=1 run

    --test=fileio

    --num-threads=8 测试进程的数量 并发

    --init-rng=on

    --file-total-size=1G 文件的 大小

    --file-test-mode=rndrw  io种类  随机读写

    --report-interval=1  多少秒的间隔输出统计结果

    run 开始运行 

    每个1秒输出统计结果,读取数量,写入数量,同步数量,响应时间。

    新硬件上限之前,都要进行cpu,IO性能测试

    接下来进行数据库性能测试

    1创建数据库,用户名和密码

    create databases imooc;创建数据库

    grant allprivileges on *.* to sbest@'localhost' identified by '123456'; 创建用户名密码权限

    进入脚本目录 tests/db   ls -l *.lua

    准备测试数据

    sysbench --test=./oltp.lua --mysql-table-engine=innodb --oltp-table-size=10000 --mysql-db=immooc --mysql-user=sbtest --mysql-password=123456 --oltp-tables-count=10 --mysql-socket=/usr/local/mysql/data/mysql.sock prepar

    --test=./oltp.lua

    --mysql-table-engine=innodb 存储因情

    --oltp-table-size=10000 每一个表的大小

    --mysql-db=immooc  db名字

    --mysql-user=sbtest  用户名

    --mysql-password=123456  密码

    --oltp-tables-count=10  oltp表的数量

    --mysql-socket=/usr/local/mysql/data/mysql.sock  mysql  sock文件进行连接

    prepar 生成数据

    现在查看数据库,生成了10张表,单表数据行数10000行

    接下来进行测试

    另一个客户端 后台运行系统状态收集脚本   bash ./Get_test_info.sh &

    进入第一个客户端运行测试 sysbench   prepar 改成 run 命令 运行

    进入数据收集目录,已经生成了数据文件。

    测试完成后,停掉收集脚本。

    ./analyze.sh 分析收集到的数据

  • 相关阅读:
    智能家居——安全信息收集(一)
    PMP软件管理之路——站在巨人的肩膀上(一)
    Linux——信息收集(二)Nikto网页服务器扫描器
    XML约束(3)
    xml基本语法(2)
    xml概述(1)
    ajax接受json响应
    ajax接受json响应(讲义)
    json与xml的比较
    零碎小技能
  • 原文地址:https://www.cnblogs.com/zhaoyang-1989/p/6872652.html
Copyright © 2011-2022 走看看