购买mysql服务器时需要考虑的问题
2018-01-26 00:23
267 查看
如何购买mysql服务器
当采购问我们 CPU买快的还是还多的:
当然不考虑成本的话,采用intel xeon e7-8870 v2,18核36线程,但成本高达4万,所以我们在选mysql,优先考虑业务需求是否是CPU密集型。
如果是CPU密集型,处理sql需要快,所以我们需要的是更快的CPU而不是更多的CPU。
现在目前版本的mysql还不支持多CPU对一条sql并发处理。
也就是不管多复杂,也只能用到一个cpu核心来处理,多个cpu对提高速度是没有帮助的。如果我们的业务并发量高的,提高吞吐量,则需要多的CPU。
cpu选择32位、还是64位:
这个一般都不用考虑了,64位是当前默认的,尽力不能避免使用32位。内存选择:
CPU支持的最高内存频率。磁盘的配置和选择:
使用传统机械硬盘1、存储空间大
2、价格低
3、读写较慢
4、最常见
传统机械硬盘读取数据的过程
1、移动磁头到磁盘表面上的正确位置
2、等待磁盘旋转、使用所需要的数据在磁头之下
3、等待磁盘旋转过去,所有所需要的数据都被磁头读出
使用RAID增强传统机械硬盘的性能
RAID是磁盘冗余队列的简称
简单的来说RAID的作用就是把多个容量较小的磁盘组成一组容量更大的磁盘,并提供数据冗余来保证数据完整性的技术。减少了传统磁盘损坏导致数据丢失的可能性。RAID可设置级别,RAID可以让多个磁盘同时读写数据,大福提高吞吐量。
说一说在数据库中常用的RAID级别
RAID0:最早出现的RAID模式,也称为数据条带,两块硬盘即可,成本低,提高磁盘的性能和吞吐量。RAID0是没有提供冗余或修复能力,但实现成本最低,其中一块硬盘损坏,就会导致数据丢失,主要用在不用担心数据丢失的情况,例如随时从其他数据库备份克隆备库。
RAID1:又称磁盘镜像,原理是把一个磁盘的数据镜像到另外一个磁盘上,也就是说数据写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能的情况下最大限度的保证系统的可靠性和修复性。
成本会高。提供很好的读性能,比RAID0快一些,所以例如:存放日志类似。
常用的RAID5:称为分布式奇偶校验磁盘陈列,通过分布式奇偶校验块把数据分散到多个磁盘上,这样如果任何一个盘数据失效,都可以从奇偶校验块中重建。但是如果两块磁盘都失效,则整个卷都无法恢复。在RAID5写会比较慢,每次写都会在底层磁盘上发生两次读和两次写校验,但随即读和顺序读很快,因为读取不用校验奇偶,若一个盘失效会严重影响性能,需要及时跟换同步。适合以读的业务场景,最好使用在从服务器上
常用的RAID10:称为分片的镜像,先对磁盘先做RAID1之后再对两组RAID1的磁盘再坐RAID0,所以读写都有良好的性能,相对于RAID5重新起来更加简单,速度也更快。
RAID级别选择
随机读写:随机读写是按你给的地点读写,(用 fseek 等函数找地点),可以在文件的任何地方–开始处,文件尾,文件中部,前前后后地读写。顺序读写 是从文件开始处依次读,从文件尾开始依次写。
使用固态存储SSD和PCIE卡
SSD也称为闪存,相比机械磁盘固态磁盘有更好的‘随机’读写性能。支持SATA接口,可以替换传统磁盘而不需要任何改变。注意如果SATA3.0的SSD插到SATA2.0接口上速度会受到影响。
SATA接口的SSD支持RAID技术。
相比机械磁盘固态磁盘能更好的支持并发。
固态磁盘容易损坏
适合:
1、存在大量随机I/O的场景。
2、使用解决单线程负载I/O瓶颈。
3、适合用在从服务器上,因为从服务器一般是单线程写入,而主服务器一般为多线程写入。
PCIE卡:也就是Fusion-IO卡,不能直接使用SATA接口,需要独特的渠道和配置,价格相对SSD要贵,但性能比SSD更好。PCIE还会使用到CPU和内存。支持RAID比较少,不建议在PCIE上使用RAID。
使用网络存储NAS和SAN
SAN:存取区域网络,通过光纤连接到服务器的,服务器再通过光纤接口访问SAN,适合在大量顺序读写,随机读写会慢一些。
NAS:网络附加储存,通过网络连接,通过基于文件的协议如NFS或SMB来访问。
网络存储适合的场景:数据库备份
网络对性能也会有相应的影响,假如前端服务器有50台,同时访问一台数据库,可能会造成带宽被占满。
建议:
1、采用高性能和高带宽的网络接口设备和交换机
2、对多个网卡进行绑定,增强可用性和带宽
3、尽可能的进行网络隔离。
相关文章推荐
- mysql 转orecle 需要考虑的问题
- 互联网服务器的实现过程需要考虑哪些安全问题 & 加解密及哈希知识点
- 购买服务器机柜需要考量的几个问题 推荐
- 高性能服务器设计时需要考虑的几个问题
- mysql 数据库存储需要考虑的问题
- MySql备份策略规划需要考虑的问题
- MySQL备份需要考虑的问题
- [征询意见]博客园购买新服务器时需要注意哪些问题
- 问题解决笔记 -- LINUX 服务器 PHP与MYSQL中文乱码问题最终解决方案
- 选择框架需要考虑的问题
- mysql中的ERROR 1146 (42S02)问题解决方案(主从服务器数据同步引起)
- 使用表单上传文件的过程及需要考虑的问题
- visual studio 2012打开提示 未能将网站×××配置为使用 ASP.NET 4.5 和 尚未在Web服务器上注册,您需要手动将Web服务器配置为使用ASP.NET 4.5,问题解决
- Web服务端开发需要考虑的问题
- 购买阿里云服务器到服务器环境搭建(CentOS7.0:jdk+mysql+tomcat)
- Android构建时需要考虑的问题
- 如果网页内容需要支持多语言,你会怎么做?在设计和开发多语言网站时,有哪些问题你必须要考虑?
- 彻底理解mysql服务器的字符集转换问题
- Asp.net 2.0的异常处理需要考虑的问题