MySQL学习记录06-MySQL应用于优化之MySQL容量评估

Agenda

  • 了解线上服务器选型时应该关注的性能指标
  • 了解线上数据库业务需要关注的特征
  • 了解业务特征对性能指标的依赖关系
  • 通过实际案例说明如何结合业务分析线上容量规划

性能容量评估

  • 分析线上业务场景
  • 评估数据库服务器所需性能指标
  • 预估可能成为瓶颈的服务器资源
  • 帮助数据库性能调优

数据库服务器硬件性能指标项

  • 磁盘IO性能
  • 内存容量
  • CPU
  • 网络吞吐量
  • 磁盘容量
    MySQL学习记录06-MySQL应用于优化之MySQL容量评估

数据库业务特点关键词

  • OLTP/OLAP类型
  • 并发请求
  • 读写比例
  • 数据量
  • 冷热数据比
  • 数据分级存储

OLTP与OLAP

  • T = Transaction
  • 面向广大用户,高并发,较短事务操作
  • 互联网应用绝大部分属于OLTP
  • OLTP看重服务器CPU,内存写事务较多或内存不够则依赖磁盘IO
  • A= Analytical
  • 通常面向内部人员,大规模复杂查询
  • OLAP看重磁盘扫描的IO能力,部分依赖内存排序

并发请求-衡量线上业务繁忙程度

  • 业务高峰时数据库的每秒并发访问量是多少
  • 通过应用服务器数量,连接池配置判断
  • 通过产品估算初上线用户规模和用户增长速度判断
  • 通过实际业务业务类型判断
  • 并发量相关资源:CPU

读写比例-描述应用程序如何使用数据库

  • 线上业务select只读与update/delete/insert写操作比例
  • delete/update通常都是先读再写
  • insert需要区分数据写入是持续insert还是大量导入数据
  • 根据业务实际场景分析
  • 多读场景相关资源:内存
  • 多写场景相关资源:磁盘I0

数据量一总量

  • 数据库服务器存储设备可扩容能力的上限
  • 根据估算的业务量,写入模式,分析数据增长量
  • 预估-个硬件升级周期内数据库可存放数据的总量,上线时要
  • 留好余量
  • 数据总量相关资源:磁盘容量

冷数据与热数据-有用数据的实时集合

  • 热数据,线上最新一-定周期内将被反 复访问的数据
  • 冷数据,线上保存着的,最近不会被在线用户用到的数据
  • 估算活跃用户量,数据增长量等预估热数据量
  • 内存大小尽可足够存放线上实时热数据
  • 热数据相关资源:内存

线上数据分层存储-缓解线上磁盘空间压办
MySQL学习记录06-MySQL应用于优化之MySQL容量评估

  • 最新热数据确保放在内存中
  • 还可能访问到的较早数据存放在
    线,上库磁盘中
  • 更早的不会常规访问的数据定期
  • 区分哪些数据时效性强可以迁移
    MySQL学习记录06-MySQL应用于优化之MySQL容量评估

服务器资源选型-将可选方案列出来

资源指标 可选方案
磁盘IO性能 单盘->盘阵; SAS-> SATA ;机械盘->SSD
内存容量 较小内存->较大内存
CPU 普通->多核,超线程
网络吞吐量 千兆->万兆;单网卡->多路
磁盘容量 单盘->盘阵;单盘->LVM