性能容量评估

 
  • 分析上线业务场景
  • 评估数据库服务器所需性能指标
  • 预估可能成为瓶颈的服务器资源
  • 帮助数据库性能调优
 
数据库服务器硬件性能指标项:
  • 磁盘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还是大量导入数据
  • 根据业务实际场景分析
多读场景相关资源:内存
多写场景相关资源:磁盘IO
 
数据量-总量
  • 数据库服务器存储设备可扩容能力的上限
  • 根据估算的业务量,写入模式,分析数据增长量
  • 预计一个硬件升级周期内数据库可存放数据的总量,上线时要留好余量
  • 数据总量相关资源:磁盘容量
 
冷热数据比-有用数据的实时集合
  • 热数据,线上最新一定周期内将被反复访问的数据
  • 冷数据,线上保存着的,最近不会被在线用户用到的数据
  • 估算活跃用户量,数据增长量等预估热数据量
  • 内存大小尽可足够存放线上实时热数据
  • 热数据相关资源:内存
 
线上数据分层存储--缓解线上磁盘空间压力
 
服务器资源选型--将可选方案列出来
 

性能--成本的平衡;
 
数据库业务特点关键词
  • OLTP/OLAP
  • 并发请求
  • 读写比例
  • 数据量
  • 冷热数据比
  • 数据分级存储
 
案例

 
案例一,网易云音乐曲库数据库服务器评估
  • 用于存放线上数千万歌曲信息
  • 确定属于OLTP线上类型数据库
  • 并发请求
    • 50台应用服务器,每台最大连接数100
    • 可能峰值5000qps,并发请求量较大
    • 所以:CPU需求高
  • 读写比例
    • 访问模式以用户列出歌单和播放歌曲时查询歌曲信息为主,用户只有只读查询
    • 写数据发生在录入新歌或修改歌曲信息时后台操作,写比例小,且为批量导入
    • 读写比例:100:1
  • 数据总量
    • 估算每首歌信息8K,总计5000万,总量400G
    • 数据总量增长相对较慢
  • 冷热数据比
    • 5000万歌曲中大约40%可能被访问,10%属于热点歌曲
    • 热数据大约<40G
  • 数据分级存储需求
    • 由于没有用户产生的数据,歌曲信息无法分级存储
 
分析完得出以下结论:
  • 并发请求高-----------------------CPU性能要求高
  • 读占大部分,且热数据大约40G---内存需求一般>40G
  • 数据总量400G--------------------磁盘空间需求一般>400G
  • 写比例较少,且是后台批量--------磁盘IO能力需求一般
  • 网络流量要求:8K*2500(每秒2500首放回给用户)/1024≈20MB/S,一般
 
一般使用估算容量*2;

     
 
分析上线业务场景
 
数据库业务特点关键词
  • OLTP/OLAP
  • 并发请求
  • 读写比例
  • 数据量
  • 冷热数据比
  • 数据分级存储
 
案例二,网易理财销售数据库服务器评估
分析上线业务场景:
  • 用于存放理财用户线上订单
  • 确定属于OLTP线上类型数据库
  • 业务场景有明显特征
    • 特定高息产品秒杀销售时间窗有大量并发订单写入
    • 平时只有少量订单查询请求,和较低的常规产品购买请求
  • 评估应以满足最关键的业务高峰为基准
 
数据库业务特点:
  • 确定属于OLTP线上类型数据库
  • 并发请求量
    • 秒杀期间持续时间短,但是并发量预估30台应用服务器约2000tps(实际估算,比如限售3亿,平均每笔订单1万,则会有3万笔订单,根据实际情况,3万笔订单将在十几秒卖光,所以,每秒应该有2000笔订单完成)
    • 所以CPU要求较高
    • 所以网络要求较高
  • 读写比例
    • 高峰时写订单是主要开销操作
    • 所以磁盘IO要求很高
  • 数据总量
    • 根据业务分析,订单属于写入瞬时量大,总量较小,单笔金额较高
    • 总量预估一年成交百万单位级别,增长量较稳定
    • 判断数据存储需求小于200G
    • 所以磁盘空间需求一般,>200G
  • 冷热数据
    • 峰值写入为主,内存要求存放热点期间产生的脏数据即可
    • 总共有3万笔订单数据产生,算一算脏数据<10G
  • 数据分级存储需求
    • 用户订单业务约定页面展示最近半年订单,半年前的需要到历史查询页面专门查询
    • 因此可以做分级存储,迁移所有半年前订单至历史库

 
 总结

 
  • 硬件性能指标:
    • 磁盘IO性能
      • 单盘->盘阵
      • SAS-SATA,
      • 机械盘->ssd
    • 内存 较小->较大,
    • cup
      • 普通->多核,
      • 超线程,
    • 磁盘容量
      • 单盘->盘阵,
      • 单盘->LVM,
    • 网络吞吐量
      • 千兆->万兆,
      • 单网卡->多路;
  • 数据库业务特点:
    • OLTP/OLAPM,
    • 并发请求------cpu,
    • 读写比例
      • 读---内存
      • 写磁盘IO,
    • 数据量--磁盘容量,
    • 冷热数据比
      • 热数据多--内存,
    • 数据分级存储--缓解线上磁盘空间压力
  • 性能与成本的平衡
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mysql 性能容量评估的更多相关文章

  1. MySQL准入规范及容量评估

    一.数据库设计 1.表结构设计 -表中的自增列(auto_increment属性)推荐使用bigint类型 -首选使用非空的唯一键, 其次选择自增列或发号器 不使用更新频繁的列,尽量不选择字符串列,不 ...

  2. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

  3. Mysql 性能优化教程

    Mysql 性能优化教程 目录 目录 1 背景及目标 2 Mysql 执行优化 2 认识数据索引 2 为什么使用数据索引能提高效率 2 如何理解数据索引的结构 2 优化实战范例 3 认识影响结果集 4 ...

  4. 转 Mysql性能优化教程

    Mysql性能优化教程 背景及目标 厦门游家公司(4399.com)用于员工培训和分享. 针对用户群为已经使用过mysql环境,并有一定开发经验的工程师 针对高并发,海量数据的互联网环境. 本文语言为 ...

  5. MySQL性能调优与架构设计——第 15 章 可扩展性设计之Cache与Search的利用

    第 15 章 可扩展性设计之Cache与Search的利用 前言: 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为 ...

  6. MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

    第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就 ...

  7. MySQL性能调优与架构设计——第6章 MySQL Server 性能的相关因素

    第6章 MySQL Server 性能的相关因素 前言 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部 ...

  8. MySQL性能优化总结

    一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...

  9. MySQL性能优化总结(转)https://yq.aliyun.com/articles/24249

    摘要: 一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图:   三.MySQL存储引擎概述 1)MyISAM存储引擎 MyIS ...

随机推荐

  1. Azure继续降价云 价格战就此终结?

    [TechTarget中国原创] 刚刚跨入2016年,就听到了云降价这样一个消息,但是我们却不要期望降价之风如去年一样呼呼不绝. 微软公司在本周宣称,他们将在下个月对其D系列虚拟机实施高达17%的降价 ...

  2. IOS开发学习笔记007-数据结构

    目录: 1.全局变量和局部变量 2.结构体 3.结构体数组 4.结构体做函数参数 5.结构体指针 6.枚举 7.总结 一.全局变量和局部变量 全局变量和局部变量的区别 1. 全局变量,再函数外定义的变 ...

  3. RSA进阶之共模攻击

    适用场景: 同一个n,对相同的m进行了加密,e取值不一样. e1和e2互质,gcd(e1,e2)=1 如果满足上述条件,那么就可以在不分解n的情况下求解m 原理 复杂的东西简单说: 如果gcd(e1, ...

  4. jquery左右滑动菜单

    <div class="mini-container" style="position:relative;height:100%;"> <di ...

  5. java 例子

    1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一个重要的命令javac ...

  6. 【bzoj3065】带插入区间K小值 替罪羊树套权值线段树

    题目描述 从前有n只跳蚤排成一行做早操,每只跳蚤都有自己的一个弹跳力a[i].跳蚤国王看着这些跳蚤国欣欣向荣的情景,感到非常高兴.这时跳蚤国王决定理性愉悦一下,查询区间k小值.他每次向它的随从伏特提出 ...

  7. mysql里制造一个错误

    最近突然想到的,由于在触发器中执行失败事务性表会自动回滚. 所以就想制造一个错误,在群里问了问最后还真得到一个制造错误的方法,或者可以叫做自定义异常 SIGNAL SQLSTATE ' SET MES ...

  8. 光线追踪(raytracing)

    光线追踪(raytracing) 题目描述 考虑一个二维平面,摄像机在(0,0)(0,0)的位置,初始时平面上没有障碍物.现在执行QQ次操作,操作有两种(假设这是第ii次操作,1≤i≤Q1≤i≤Q): ...

  9. kubernetes 之容器监控

    [root@manager ~]# git clone https://github.com/kubernetes/heapster.git [root@manager ~]# cd heapster ...

  10. [网络流24题] COGS 搭配飞行员

    14. [网络流24题] 搭配飞行员 ★★☆   输入文件:flyer.in   输出文件:flyer.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     飞行大队 ...