题 MySQL,磁盘I / O和SSD驱动器


我们有一个LAMP盒,带有2个镜像的1 TB WD Black Caviar磁盘,运行整个操作系统和MySQL。 8 GB / RAM,2x四核CPU。

我们真的对磁盘I / O征税,而且我一直在考虑建议在那里购买几个SSD驱动器 /var/lib/mysql,并完成它。我做了一些研究,我喜欢英特尔X25-M 160 GB的价格点,但我已经阅读了有关生产中SSD的相互矛盾的选择。

我们大约70 GB,主要是MyISAM表(> 95%)。我们主要在生产过程中进行读取(下午8-5点),主要是在一夜之间(上午12点到上午8点)写入。

关于生产中的固态硬盘之前有一些有用的帖子,但我认为更好的帖子有点过时了(最好的是在2008年)。是否有关于SSD是否真的为中型企业做好准备的最新反馈?如果没有,我怎样才能更好地扩展我们的数据库服务器?


5
2018-04-01 15:20






答案:


斯蒂芬,你需要先深入挖掘。

  • 如果您只是将RAM升级到更大的内容(如32或64GB),那么数据库的整个“热门”(常用)子集是否适合RAM?
  • 您是否检查过您的数据库是否具有正确的索引,是否已完成基本的MySQL性能审计?

关于消费者装备: 像服务器中的WD磁盘一样使用消费级设备是一个备受争议的话题。就个人而言,我认为这是一个错误的选择。但当然,不要使用像英特尔X-25M这样的消费级固态硬盘(M代表主流)。企业级固态硬盘具有完全不同的耐用性和写入耐用性SSD的耐久性目标(更好的磨损平整,更多的空间过度配置)。

典型设置: 像您这样的服务器的典型磁盘设置可能是4个企业SAS磁盘,在RAID10中,使用适当的RAID控制器,控制器RAM缓存缓冲所有写入,以及缓存的电池备份单元。这种装备不是很便宜,但它是一种经过验证的选择。

SSD确实具有优势,并且可以比RAID 10中的几个传统磁盘快得多(特别是在重随机读取时,假设热数据集不适合RAM)。 Percona团队的博客是关于 这里的固态硬盘和MySQL的真实性能

任何人都有关于SSD是否真的为中型企业做好准备的最新反馈?

他们是,但恕我直言,只有企业级固态硬盘,最好是一系列固态硬盘已经投入生产一段时间来修复漏洞。现在很好的选择是Intel X25-E(Extreme)系列,在4-6个月(当它们更成熟时) 具有企业功能集的Sandforce 25xx系列驱动器

如果没有,我怎样才能更好地扩展我们的数据库服务器?

也许您已经这样做了,但如果没有:我的第一个建议是找到一个MySQL数据库管理员,并让他对您的系统进行性能审计。您可以很好地发现,添加更多磁盘I / O并不是一种经济高效的解决方案。


10
2018-04-01 15:52



是否通过招聘MySQL数据库管理员来进行性能审计,增加SSD或2不便宜? - Petah


我已经运行了那些确切驱动器的raid阵列,160GB intel G2已经差不多一年了。它是一个由12个服务器组成的集群,现在每秒执行大约3500次查询,但是这有很多备用容量,我已经把它放在了6台服务器上,一切都很好。如果你做研究和数学,它基本上归结为“不要使用它们五年或更长时间”,对我来说,我舍入并计划在另一年更换它们。考虑到他们节省了大量的硬件和开发人员的时间,我可以每季度更换它们,这仍然是值得的。


4
2018-04-01 18:23



+1用于实际部署故事 - Daniel Lawson
+1为“硬件和开发人员时间..已保存”。但是,我恭敬地说,“做数学......使用5年”是服务器的高端产品。经常引用5年以上的耐力 桌面 工作量,但对于 多用户服务器工作量 这听起来很高,除非该服务器在写入时异常轻微和/或提供了大量备用容量: anandtech.com/show/4159/... - Jesper Mortensen
当然,请记下链接中的数字。对于25nm,他以每天7GB的速度达到108K天。所以让10x那个,我想写的是70GB /天(数据库只有150GB左右,而且需要5年才能增长到那个)。然后反过来,这意味着我正在看10,800天。到底是什么,为了安全起见,为了1080天,让整个其他数量级的捏造。那是两个星期不到3年的时间。所以我计划选择2.另外,就像那个链接所说的那样,他们应该只是在他们疲惫时只读,而不是实际丢失数据。 - cagenut


对于任何严肃的事情,你应该去FusionIO这样的企业级固态硬盘和STEC齿轮销售。他们有关于何时运行维护(TRIM等)的数据,并在出现问题时提供支持。我甚至看到过被HBA淘汰的STEC固态硬盘。我的猜测是,这里真正的问题是,大多数供应商都不会将SSD作为闪存而是作为块设备暴露出来,而且那里的控制器固件并不真正知道如何处理磁盘及其磁盘固件接口。只有经验才能说明。备份和RAID的常见问题也适用于SSD。

但是,由于您使用MyISAM作为存储后端可靠性和一致性可能不是您的主要关注点,因此只需购买它们,看看会发生什么。


0
2018-04-01 15:39





考虑升级到Percona MySQL,它专门针对SSD的I / O功能进行了调整。只需切换到SSD驱动器就可以进行一些改进,但MySQL并没有充分利用SSD的功能 http://www.percona.com/software/percona-server/for-ssd/

查看他们的基准统计数据 http://www.percona.com/docs/wiki/benchmark:ssd:start


0
2018-04-01 17:57