文档章节

数据库优化-存储硬件

东皇巴顿
 东皇巴顿
发布于 2017/04/29 14:15
字数 1229
阅读 36
收藏 0

基础硬件条件

如果存储MySQL数据的底层硬件介质就只是一块机械磁盘,那么无论怎样优化MySQL的其它各参数,MySQL实际对磁盘的顺序I/O速度理论上也只有100MB/S左右。这还是不计算硬件层校验、不计算不同文件系统处理耗时等等时间,所以实际I/O速度只会更慢。

另外如果采用单块机械磁盘存储MySQL的数据,那么磁盘空间的扩容也是一个问题。目前市场上能买到的容量最大的单块机械磁盘,它的存储空间也只有10TB。当这部分容量使用完后想要进行扩容就基本上是就一个不可能完成的任务了。最后这种存储方式还有安全性的问题,单块机械磁盘在持续的高I/O环境下是很容易损坏的,只要是有一定资金支持的公司,机械磁盘本身就看做耗材。

所以即使是初创型公司的线上生产环境,本文也不推荐使用单块机械磁盘存储任何需要持久保存的业务数据。如果是因为资金问题,则推荐使用一些云服务商提供的现成PaaS环境,原因是这些PaaS环境本身就支持数据恢复功能,且利用云服务商已经建设好的价格不菲的硬件/软件环境,MySQL数据库的I/O性能和计算性能暂时还不会成为业务系统的瓶颈。下面从存储设备的调优介绍一下。

 

使用磁盘阵列替代单块磁盘

这是最基本的硬件层改造方式,目前大多数厂商提供的PC Server基本上都集成了RAID控制器。所以这样做一般不需要额外增加购买硬件设备的费用。

在MySQL官网上并没有明确推荐使用哪一种磁盘阵列模式,但是从搭建磁盘阵列支持MySQL的实际引用情况来看,更多是使用RAID 10阵列模式(另外磁盘阵列的整体性能和阵列控制芯片有很大关系)。

RAID 10阵列模式可以在提升了整个系统I/O性能的基础上兼顾了存储的安全性。为了使用RAID 10磁盘阵列模式,读者至少需要为准备4块磁盘。其中2/4的磁盘容量用来存储数据冗余,另外2/4的磁盘容量用来分散存储数据。

 

使用固态硬盘进一步替代机械磁盘

以上解决方案中,如果不考虑阵列控制芯片的处理性能,每一个机械磁盘的I/O性能将会成为整个RAID 10磁盘阵列的性能瓶颈。所以如果技术团队还有多余的资金支持,那么下一步要做的就是将构成RAID 10磁盘阵列多个机械磁盘全部替换成固态磁盘。

 

进一步使用外置磁盘阵列柜 + 光纤结构

PC Server内置的磁盘阵列,使用USB3.0接口连接,目前的理论带宽只有600MB/S,而且PC Server内置的磁盘阵列控制器由于服务器内部空间的限制,也存在磁盘数量扩展困难的问题。

如果确认生产环境的某个物理服务器将以I/O读写操作为主,且I/O性能将成为其上工作的应用软件的瓶颈。那么这时最好的硬件方案就是直接采用外置企业级磁盘阵列柜 + 光纤接口的方式搭建硬件层支持。

目前主流的光纤线路带宽为16Gb/s,这远远高于USB3.0 6Gb/s的理论带宽、高于SAS 12Gb/s的理论带宽。另外,单个企业级磁盘阵列柜可容纳的磁盘数量就已经很高了(例如IBM Storwize V5000 单柜提供24个磁盘位,单柜支持最大72TB存储容量),并且这些企业级盘柜一般支持扩展成多柜。这两种特性有效解决了硬件层面磁盘I/O速度和容量的问题,但代价就是这些IT基础折本的价格一般比较昂贵,技术团队所在企业需要有比较宽裕的项目/产品建设预算。

本文转载自:来源:http://blog.csdn.net/yinwenjie

东皇巴顿
粉丝 3
博文 58
码字总数 65346
作品 0
海淀
技术主管
私信 提问
MySQL数据库的性能的影响分析及其优化

MySQL数据库的性能的影响 一. 服务器的硬件的限制 二. 服务器所使用的操作系统 三. 服务器的所配置的参数设置不同 四. 数据库存储引擎的选择 五. 数据库的参数配置的不同 六. (重点)数据库的...

Panda_Jerry
2017/11/04
0
0
性能优于 MySQL 6 倍?阿里云 PolarDB 的底气在哪?

9 月 21 日,阿里云正式发布新一代商用关系型云数据库 POLARDB 。据悉,该数据库为阿里云自研,采用第三代分布式共享存储架构,与 MySQL 完全兼容,为企业级 OLTP 与 OLAP 一体化数据库系统整...

达尔文
2017/09/29
11.6K
61
收藏起来,史上最全的 MySQL 高性能优化实战总结!

一、前言 MySQL 对于很多 Linux 从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行 MySQL 的优化之前必须要了解的就是 MySQL 的查询过程,...

技术小能手
2018/10/11
0
0
Mysql:优化分析(值得深思)

Mysql优化分析 Mysql作为现在的主流关系型数据库,在优化上值得深思啊! 不能只停留在如何使用Mysql,而不去思考如何优化的问题啊。 在谈到Mysql优化方面,Mysql在这方面有专门的文档说明这个...

王木东
2018/07/13
0
0
史上更全的MySQL高性能优化实战总结!

一、前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的...

技术小能手
2018/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 人生,还真是到处是意外

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享lil peep的单曲《High School》 《High School》- lil peep 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
45分钟前
19
2
Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
6
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
10
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部