mysql 性能容量评估
- 分析上线业务场景
- 评估数据库服务器所需性能指标
- 预估可能成为瓶颈的服务器资源
- 帮助数据库性能调优
- 磁盘IO性能
- 内存容量
- CPU
- 网络吞吐量
- 磁盘容量
- OLTP/OLAP
- 并发请求
- 读写比例
- 数据量
- 冷热数据比
- 数据分级存储
- 业务高峰时数据库的每秒并发访问量是多少
- 通过应用服务器数量,连接池配置判断
- 通过产品估算初上线用户规模和用户增长速度判断
- 通过实际业务业务类型判断
- 并发量相关资源:cpu
- 线上业务select只读与update/delete/insert写操作比例
- delete/update通常都是先读再写
- insert需要区分数据写入还是持续insert还是大量导入数据
- 根据业务实际场景分析
- 数据库服务器存储设备可扩容能力的上限
- 根据估算的业务量,写入模式,分析数据增长量
- 预计一个硬件升级周期内数据库可存放数据的总量,上线时要留好余量
- 数据总量相关资源:磁盘容量
- 热数据,线上最新一定周期内将被反复访问的数据
- 冷数据,线上保存着的,最近不会被在线用户用到的数据
- 估算活跃用户量,数据增长量等预估热数据量
- 内存大小尽可足够存放线上实时热数据
- 热数据相关资源:内存
.png)

.png)
- 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,一般
.png)
- OLTP/OLAP
- 并发请求
- 读写比例
- 数据量
- 冷热数据比
- 数据分级存储
- 用于存放理财用户线上订单
- 确定属于OLTP线上类型数据库
- 业务场景有明显特征
- 特定高息产品秒杀销售时间窗有大量并发订单写入
- 平时只有少量订单查询请求,和较低的常规产品购买请求
- 评估应以满足最关键的业务高峰为基准
- 确定属于OLTP线上类型数据库
- 并发请求量
- 秒杀期间持续时间短,但是并发量预估30台应用服务器约2000tps(实际估算,比如限售3亿,平均每笔订单1万,则会有3万笔订单,根据实际情况,3万笔订单将在十几秒卖光,所以,每秒应该有2000笔订单完成)
- 所以CPU要求较高
- 所以网络要求较高
- 读写比例
- 高峰时写订单是主要开销操作
- 所以磁盘IO要求很高
- 数据总量
- 根据业务分析,订单属于写入瞬时量大,总量较小,单笔金额较高
- 总量预估一年成交百万单位级别,增长量较稳定
- 判断数据存储需求小于200G
- 所以磁盘空间需求一般,>200G
- 冷热数据
- 峰值写入为主,内存要求存放热点期间产生的脏数据即可
- 总共有3万笔订单数据产生,算一算脏数据<10G
- 数据分级存储需求
- 用户订单业务约定页面展示最近半年订单,半年前的需要到历史查询页面专门查询
- 因此可以做分级存储,迁移所有半年前订单至历史库
.png)
- 硬件性能指标:
- 磁盘IO性能
- 单盘->盘阵
- SAS-SATA,
- 机械盘->ssd
- 内存 较小->较大,
- cup
- 普通->多核,
- 超线程,
- 磁盘容量
- 单盘->盘阵,
- 单盘->LVM,
- 网络吞吐量
- 千兆->万兆,
- 单网卡->多路;
- 数据库业务特点:
- OLTP/OLAPM,
- 并发请求------cpu,
- 读写比例
- 读---内存
- 写磁盘IO,
- 数据量--磁盘容量,
- 冷热数据比
- 热数据多--内存,
- 数据分级存储--缓解线上磁盘空间压力
- 性能与成本的平衡
mysql 性能容量评估的更多相关文章
- MySQL准入规范及容量评估
一.数据库设计 1.表结构设计 -表中的自增列(auto_increment属性)推荐使用bigint类型 -首选使用非空的唯一键, 其次选择自增列或发号器 不使用更新频繁的列,尽量不选择字符串列,不 ...
- MySQL 性能监控 4 大指标
[编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现. MySQL 是什么? MySQL ...
- Mysql 性能优化教程
Mysql 性能优化教程 目录 目录 1 背景及目标 2 Mysql 执行优化 2 认识数据索引 2 为什么使用数据索引能提高效率 2 如何理解数据索引的结构 2 优化实战范例 3 认识影响结果集 4 ...
- 转 Mysql性能优化教程
Mysql性能优化教程 背景及目标 厦门游家公司(4399.com)用于员工培训和分享. 针对用户群为已经使用过mysql环境,并有一定开发经验的工程师 针对高并发,海量数据的互联网环境. 本文语言为 ...
- MySQL性能调优与架构设计——第 15 章 可扩展性设计之Cache与Search的利用
第 15 章 可扩展性设计之Cache与Search的利用 前言: 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为 ...
- MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化
第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就 ...
- MySQL性能调优与架构设计——第6章 MySQL Server 性能的相关因素
第6章 MySQL Server 性能的相关因素 前言 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部 ...
- MySQL性能优化总结
一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...
- MySQL性能优化总结(转)https://yq.aliyun.com/articles/24249
摘要: 一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyIS ...
随机推荐
- RNNs在股票价格预测的应用
RNNs在股票价格预测的应用 前言 RNN和LSTMs在时态数据上表现特别好,这就是为什么他们在语音识别上是有效的.我们通过前25天的开高收低价格,去预测下一时刻的前收盘价.每个时间序列通过一个高斯分 ...
- Beamer模板
普通模板: \documentclass[UTF-8]{beamer} \usepackage{ctex} \usetheme{CambridgeUS} \begin{document} \secti ...
- centOS6.6虚拟机启动后登陆界面无法显示
1.图一和图二对比就很明显发现,我的登陆界面不见了(突然断电导致不正常关机,造成图形界面桌面崩溃) 2.解决方法:启动按Ctrl+Alt+f2切换进命令行界面,root账号进入,重新下载图形界面
- Leetcode 540.有序数组中的单一元素
有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入 ...
- 位图 c++ 位图排序
什么是位图?来自http://www.cnblogs.com/dolphin0520/archive/2011/10/19/2217369.html 位图就是用一个bit来标记某个元素对应的值,键值就 ...
- 【转】UGUI之用脚本动态的改变Button的背景图片 和 颜色
http://blog.csdn.net/u014771617/article/details/45102701 public Button button;void Start(){ColorBloc ...
- [51nod 1022] 石子归并v2 [dp+四边形不等式优化]
题面: 传送门 思路: 加强版的石子归并,现在朴素的区间dp无法解决问题了 首先我们破环成链,复制一条一样的链并粘贴到原来的链后面,变成一个2n长度的序列,在它上面dp,效率O(8n^3) 显然是过不 ...
- php读写文件要加锁
http://www.bubuko.com/infodetail-241753.html
- [vuex] vuex requires a Promise polyfill in this browser报错问题的解决办法
在IE下由于不支持promise而导致的问题,需要插件babel-prolyfill cnpm i bablel-prolyfill -D 接着在webpack.config.js当中进行配置 ent ...
- Serializable在C#中的作用及其优点
原文发布时间为:2009-10-27 -- 来源于本人的百度文章 [由搬家工具导入] Serializalbe - Enable the object can be Serialized into a ...