1_MySQL概述

本文详细介绍了MySQL的性能指标,如TPS和QPS,以及如何使用mysqldump工具进行数据库压力测试。通过具体参数设置,演示了如何自动生成SQL语句,测试读写操作和不同存储引擎的性能。

一、衡量指标

      TPS:Transactions Per Second (每秒传输的事务处理个数),这是指服务器每秒处理的事务数,支持事务的存储引擎如InnoDB等特有的一个性能指标         公式:TPS=(COM_COMMIT + COM_ROLLBACK) /UPTIME

      QPS:Queries Per Second(每秒查询处理量) 同时适用于InnoDB于MyISAM引擎       公式:QPS=QUESTIONS/UPTIME

      等待时间:执行sql等待返回结果之间的等待时间

二、MySqlSlap 

       是从MySql的5.1.4版开始官方提供的压力测试工具

     1.创建schema、table、testdata;

     2.运行负载测试,可以适用多个并发客户端链接

     3.测试环境清理(删除创建的数据、表等、断开链接)   

     参数                                      作用   

     --create-schema=name       指定测试的数据库名,默认mysqlslap

    --engine=name                      创建测试表所使用的存储引擎,可以指定多个

    --concurrency=N                    模拟N个客户端并发执行。可以指定多个值,以逗号分割

    --number-of-queries=N        总的测试查询次数(并发客户数*每客户查询次数),比如:并发是10,总次数100,那么10个客户                                                            端各执行10个

   --commit=N                             执行N条DML后提交一次

  --auto-generate-sql,a             #自动生成测试表和数据,表示用mysqlslap工具自己生成的SQL脚本来测试并发压力

--auto-generate-sql-load-       #测试语句的类型,代表要测试的环境是读操作还是写操作还是两者混合的
type=name                               #取值包括:read(scan tables),write(insert into tables),key(read primary keys)
                                                      update(update primary keys),or mixed(half inserts,half scanning selects),默认是:mixed

--auto-generate-sql-add-       对生成的表自动添加auto_increment列
auto-increment

--number-char-cols=name     自动生成的测试表中包含N个字符类型的列,默认1

--number-int-cols=name         自动生成的测试表中包含N个数字类型的列,默认1

--debug-info                             打印内存和CPU的信息

   参数目前知道这些,如果有其他的会继续更新

   例如:

            注意:
             1.windows环境执行 去掉./  Linux 环境可以不去掉
             2.在自己mysql安装目录的bin目录下cmd 窗口执行

          1_1000个客户端,重复10次自动生成SQL语句,总过1000个查询
          ./myslqslap -uroot -proot1234%  --concurrency=1000  --iterations 10 -a --auto-generate-sql-add-autoincrement  
           --engine=innodb  --number-of-queries=1000  

         2_1,50,100,200个客户端,每一个测试3次,并打印内存,CPU信息
        ./mysqlslap  -uroot  --proot1234%  --concurrency=1,50,100,200  --iterations=3  --number-char-cols=5   --
        number-int-cols=5  --auto-generate-sql  --auto-generate-sql-add-autoincrement  --engine=myisam,innodb 
        --create-schema='enjoytest1'  --debug-info 

         3_500个客户端,分别使用myisam,innodb两种存储引擎,比较效率
        ./mysqlslap  --uroot  -proot=1234%  --concurrency=500  --iteations=3  --number-char-cols=5  --number-int-
        cols=5  --auto-generate-sql  --auto-generate-sql-add-autoincrement  --engine=myisam,innodb  --create
        -schema='enjoytest1'  --debug-info

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值