热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Mysql设备选型与系统规划-实战参考文档_MySQL

Mysql设备选型与系统规划-实战参考文档
引言:项目的设备选型是一项细腻而又艰巨的任务。因为它有一次性、不可更改、兼容性、扩展性、功能性、性能性、易用性等参数阀值来参照。例如我们的项目,首先要了解今年的设备采购预算有多少,如何分配的,分配下来每个项目大概有多少,按照预算标准进行分级。其次由于我们是金融企业采购范围是有所限制的,会有一个备选目录,上面列举了品牌、厂家、规格等信息,只能在这些目录中选择,如果设备有超出目录的需要写说明申请。

再次就需要按照需求说明书和自己的实战经验来选择合适的设备,我可以列举几项参考参数来帮助我们选择到合适的设备。

设备选型

CPU:聚合运算、并行度、硬件RAM结构、内存匹配程度,是选择CPU的重要指标。

内存:结果集响应时间、部署的软件负载程度、操作系统、数据交互、内存总线,是选择内存的重要指标。

存储:根据业务数据应用场景,单位时间的吞吐量,I/O效率,数据总量,读写是否分离,顺序读写,随机读写,数据安全级别,HA,备份与恢复时间等等考虑。

预估数据总量:一般我们以一年为一个时间单位,根据接口规范和需求说明书,把所有表中所有字段的长度累加起来,并计算出总的记录条数,这样就可以大概算出总的数据量是多少,在根据超配原理,放大2~3倍来得出结论。

网络设备:网络吞吐量、最大并发会话数、速率、是否数据加密、带宽、支持多少光纤口和电口,电路保护、安全保护模式、支持几个磁盘通道(一个HBA+一个磁盘子系统=一个磁盘通道)光口or电口。

根据I/O效率可分:PCI-E卡->SSD->SAS->SCSI->SATA

操作系统:收费版、免费版、32bit、64bit

系统规划:我认为系统规划可以与设备选型一起来执行,因为他们是一对相辅相成的孪生兄弟,系统的精细化规划有助于设备参数的选择,设备的型号的选择有助于引导规划方案。根据不同场景常用的有如下几个方面。

数据区

系统区

备份区

临时区

日志区

缓冲区

业务评估

数据总量

Step1:1年内数据量大约500G

结果:每秒产生的数据量为500*1024(MB)*1024(KB)/(365*24*60*60)31536000s=17KB/s

每秒请求数&读写比

Step2:每秒3w次请求,读写比1:1

结果:每秒读请求30000/2*1=15000次/秒,每秒写请求30000/2*1=15000次/秒

Step3:每次数据记录长度大约为1KB

结果:根据Step1得出的结果,每秒insert的写入数据量大约为17KB/s,可以求出每秒insert的写请求17KB/1KB=17次。根据Step2得到的每秒写请求15000次/秒(insert写请求+update写请求+delete写请求),可知15000-17=14983次/s为update和delete写请求。由于Mysql数据库的读写操作按照page为单位处理,一页大小为16KB(默认,也可以手动定义8KB、32KB等),假设每次操作的页都不同,那么每秒写请求数据量为16KB*15000次=234M/s,每秒读请求数据量为16KB*15000次=234M/s。

Step4:处理最近7天内的数据

结果:热数据量为500GB/365天*7天=10GB

响应时间

Step5:操作毫秒ms级返回

结果:结果集要求毫秒ms级返回,那么需要尽可能的将热数据加载入内存中进行缓存。按照内存命中率100%计算,

那么Innodb buffer(Mysql存储引擎缓冲区)大小为10GB,而其他组件例如OS、Application、network需要大约4GB内存,因此内存超配大约为14GB。按照超配原则,写带宽(WBPS)限制为300MB/s,读带宽(RBPS)限制为300MB/s。

重要程度

根据业务数据重要程度,采用合适的HA高可用技术。

Mysql 设备选型 系统规划 成本评估 业务评估

文章来自:http://leonarding.blog.51cto.com/6045525/1431129

推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
author-avatar
手机用户2502898863
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有