MySQL学习记录06-MySQL应用于优化之MySQL容量评估
Agenda
- 了解线上服务器选型时应该关注的性能指标
- 了解线上数据库业务需要关注的特征
- 了解业务特征对性能指标的依赖关系
- 通过实际案例说明如何结合业务分析线上容量规划
性能容量评估
- 分析线上业务场景
- 评估数据库服务器所需性能指标
- 预估可能成为瓶颈的服务器资源
- 帮助数据库性能调优
数据库服务器硬件性能指标项
- 磁盘IO性能
- 内存容量
- CPU
- 网络吞吐量
- 磁盘容量
数据库业务特点关键词
- OLTP/OLAP类型
- 并发请求
- 读写比例
- 数据量
- 冷热数据比
- 数据分级存储
OLTP与OLAP
- T = Transaction
- 面向广大用户,高并发,较短事务操作
- 互联网应用绝大部分属于OLTP
- OLTP看重服务器CPU,内存写事务较多或内存不够则依赖磁盘IO
- A= Analytical
- 通常面向内部人员,大规模复杂查询
- OLAP看重磁盘扫描的IO能力,部分依赖内存排序
并发请求-衡量线上业务繁忙程度
- 业务高峰时数据库的每秒并发访问量是多少
- 通过应用服务器数量,连接池配置判断
- 通过产品估算初上线用户规模和用户增长速度判断
- 通过实际业务业务类型判断
- 并发量相关资源:CPU
读写比例-描述应用程序如何使用数据库
- 线上业务select只读与update/delete/insert写操作比例
- delete/update通常都是先读再写
- insert需要区分数据写入是持续insert还是大量导入数据
- 根据业务实际场景分析
- 多读场景相关资源:内存
- 多写场景相关资源:磁盘I0
数据量一总量
- 数据库服务器存储设备可扩容能力的上限
- 根据估算的业务量,写入模式,分析数据增长量
- 预估-个硬件升级周期内数据库可存放数据的总量,上线时要
- 留好余量
- 数据总量相关资源:磁盘容量
冷数据与热数据-有用数据的实时集合
- 热数据,线上最新一-定周期内将被反 复访问的数据
- 冷数据,线上保存着的,最近不会被在线用户用到的数据
- 估算活跃用户量,数据增长量等预估热数据量
- 内存大小尽可足够存放线上实时热数据
- 热数据相关资源:内存
线上数据分层存储-缓解线上磁盘空间压办
- 最新热数据确保放在内存中
- 还可能访问到的较早数据存放在
线,上库磁盘中- 更早的不会常规访问的数据定期
- 区分哪些数据时效性强可以迁移
服务器资源选型-将可选方案列出来
资源指标 | 可选方案 |
---|---|
磁盘IO性能 | 单盘->盘阵; SAS-> SATA ;机械盘->SSD |
内存容量 | 较小内存->较大内存 |
CPU | 普通->多核,超线程 |
网络吞吐量 | 千兆->万兆;单网卡->多路 |
磁盘容量 | 单盘->盘阵;单盘->LVM |