优化的衡量指标:

QPS:
Queries Per Seconds (每秒查询的处理量) 同时适用于 InnoDB 和 MyISAM 引擎。

QPS = QUESTIONS/UPTIME										   (查询的次数)/  服务器的启动时间

TPS:
Transactions Per Seconds (每秒传输的事务处理个数),这是指服务器每秒处理的事务数,支持事务的存储引擎如 Innodb 等特有的一个性能指标。

TPS = (COM_COMMIT+COM_ROLLBACK)/UPTIME     (提交事务次数+回滚事务次数)/  服务器的启动时间

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

测量工具(压测)

MysqlSlap : 官方提供的压力测试工具,具体操作步骤:

  • 创建schema ,table, test, data;
  • 运行负载测试,可以使用多个并发客户端连接;
  • 测试环境清理 (删除创建的数据,表等,断开连接);

参数

作用

create - schema = name

指定测试的数据库名,默认是 mysqlslap

engine = name

创建测试表所使用的存储引擎,可指定多个。

concurrency = N

模拟N个客户进行并发执行。可指定多个值,用逗号分隔

number-of-queries = N

总的测试查询次数(并发客户数*每个客户查询的次数)

iterations = N

迭代执行的次数,即重复的次数(相同的测试进行N次,求一个平均值),指的是整个步骤的重复次数,包括准备数据,测试load,清理

commit = N

执行多条 DML 后提交一次

auto-generate-sql,-a

自定生成的测试表和数据,表示用 mysqlslap 工具自己生成的sql 脚本来测试并发压力

auto-generate-sql-load-type = name

测试语句类型。代表要测试的环境是读操作还是写操作还是两者混合的,默认值是mixed(读写都测试)

auto-generate-sql-add-auto-increment

对生成的表自动添加 auto-increment 列

number-char-cols = name

自动生成的测试表中包含n 个字符类型的列,默认为1

number-int-cols = name

自动生成的测试表中包含n 个数字类型的列,默认为1

debug - info

打印内存和cpu的信息

程序目录:cmd 命令行 将命令输入

mysql op mysqlops_sql


mysql op mysqlops_sql_02

说明: 该指令会对mysql 进行压测,其命令的含义为:启动1000个线程,迭代10次,使用自增策略,创建的表的存储引擎为innodb,总的查询次数为1000,也就是每个线程执行一次读或写的操作。
学习年限不足,知识过浅,说的不对请见谅。

世界上有10种人,一种是懂二进制的,一种是不懂二进制的。