高性能mysql第二章-基准测试

基准测试

基准测试是针对系统设计的一种压力测试
基准测试是唯一有效的、可以学习系统在给定工作负载下发生什么的方法。

(1)验证基于系统的一些假设
(2)重现系统中某些异常行为
(3)测试当前系统运行状态
(4)模拟比当前系统更高的负载
(5)规划未来的业务
(6)测试应用适应可变环境的能力

测试指标

吞吐量、响应时间/延迟、并发性、可扩展性

基准测试案例

http_load

mysql的基准测试套件

安装目录的子目录:sql-bench

sysbench

(1)CPU基准测试
sysbench --test=cpu --cpu-max-prime=20000 run
(2)文件IO基准测试
sysbench --test=fileio --file-total-size=150G prepare
顺序写入
顺序重写
顺序读取
随机读取
随机写入
混合随机读/写
(3)OLTP基准测试
总的事务数
每秒事务数
时间统计信息(最小、平均、最大响应时间、P95响应时间)

(4)内存
(5)线程
(6)互斥锁
(7)顺序写

mysql的insert

CREATE TABLE names (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
name varchar(200) NOT NULL,
age int(10) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY i_name (name)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8

记录不存在(根据唯一索引判断,包括主键)时会执行插入操作
区别如下:

INSERT INTO
有重复数据时,Duplicate entry ‘value’ for key ‘column’ 报错

INSERT IGNORE INTO
有重复的话不做任何处理,不报错

REPLACE INTO
如有重复,删除该条记录再插入
如果是自增id且是逻辑外键的话那就有问题了
如果语句中没有包含任何字段值,则在修改时没有包含的字段值均为初始值(delete+insert)
在5.7 RBR模式下主从同步时,主库比从库的自增id大,主从切换后插入数据主键重复问题
高并发死锁

INSERT … ON DUPLICATE KEY UPDATE
记录不存在则insert,存在则update
INSERT IGNORE INTO names(name,age) VALUES(‘王五’,22)
ON DUPLICATE KEY UPDATE
name = VALUES(name), age = 35
VALUES() 是针对同时插入多条记录时获取正确的待设置值
高并发时死锁

总结
能不用replace into和insert duplicate就不用
先查,再判断是新增还是修改
先修改,再根据结果判断是否新增

OLTP

为了保证对业务的快速响应和支持,针对产品和业务功能有一个直接的数据库与之进行交互,
OLTP(OnLine Transaction Processsing 联机事务处理)是与功能、业务强相关的事务查询系统,
要保证高并发场景下低时延的查询和处理效率,因此对CPU的性能要求较高。
而直接存储与功能和业务直接相关的地方,就叫数据库,大多时候也叫业务服务器(简称:业务服)。

数据库主要为在线业务服务。
如果是分析场景需要查询数据,涉及到从业务数据库取数据,就意味着会影响业务数据库对业务的支持。
量小还好,量大或者查询比较复杂。
企业在经过初期的市场验证阶段后,会开始寻求从数据中找到下一步发展的方向,
直接从业务数据库获取数据限制颇多,因此这时候就需要搭建数据仓库体系。
数据仓库是独立于业务数据库之外的一套数据存储体系,
OLAP(OnLine Analytical Processing联机分析处理)是数据仓库系统的主要应用,能够支持复杂的分析操作,
与数据库需要直接直接线上业务不同,数据仓库侧重于分析决策,提供直观的数据查询结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值