我们有一个LAMP盒,带有2个镜像的1TB WD Black Caviar磁盘,运行整个操作系统和MySQL。 8 GB / RAM,2个四核CPU。
我们真的在磁盘I / O上征税,而且我一直在考虑build议在那里为/var/lib/mysql获取一些SSD驱动器,然后完成它。 我做了一些研究,我喜欢英特尔X25-M 160 GB的价位,但是我已经读到了有关生产中SSD的冲突选项。
我们在〜70GB,大部分是MyISAM表(> 95%)。 我们在制作过程中主要是读(8-5下午),大多是在一夜之间(上午12点 – 上午8点)写的。
在此之前,关于固态硬盘在这里已经有了一些有用的post,但我认为更好的是有点过时( 最好的是在2008年 )。 是否有更多关于SSD是否真的适合中型企业的最新反馈? 如果没有,我怎样才能把我们的数据库服务器扩展一点?
史蒂芬,你需要先深入挖掘。
关于消费者装备:在服务器中使用像您的WD磁盘这样的消费级装备是一个激烈争论的话题。 我个人认为这是一个错误的select。 但是当然,不要使用Intel X-25M(M代表主stream)等消费级固态硬盘。 企业级固态硬盘具有完全不同的耐用性和消费者固态硬盘的写入耐久性目标( 更好的耗损均衡,更多空间过度configuration )。
典型的设置:像您这样的服务器的典型磁盘设置可能是4个企业级SAS磁盘,RAID10,使用适当的RAID控制器,控制器RAM高速cachingcaching所有写入,以及高速caching的电池备份单元。 这样的装备并不是很便宜,但它是一个被certificate的select。
固态硬盘确实具有优势,并且可以比RAID 10中的几个传统磁盘快得多(特别是对于繁重的随机读取,假设热数据集不适合RAM)。 Percona团队在这里博客了解SSD和真实的MySQL性能 。
任何人对于SSD是否真的适合中型企业有任何更新的反馈意见?
他们是,但恕我直言,只有企业级的固态硬盘,最好是一系列的固态硬盘已经在生产一段时间来修复错误。 现在好的select是英特尔X25-E(Extreme)系列,而在4 – 6个月(当它们更成熟时), Sandforce 25xx系列硬盘具有企业function集 。
如果没有,我怎么能扩大我们的数据库服务器好一点?
也许你已经这样做了,但是如果没有的话:我的第一个build议是find一个MySQL数据库pipe理员,让他对你的系统进行性能审计。 您可能会发现添加更多的磁盘I / O对于您的情况不是一个经济高效的解决scheme。
我一直在运行那些确切的驱动器,160GB的英特尔G2近一年的RAIDarrays。 它是一个由12个服务器组成的集群,每秒处理大约3500个查询,但是这些服务器拥有大量的空闲容量,我已经在6台服务器上运行了,而且一切正常。 如果你做研究和math,基本上归结为“不要使用它们五年或更长时间”,这对我来说,我倒下了,并计划在另一年取代它们。 考虑到他们节省了大量的硬件和开发人员的时间,我可以每季度更换一次,这样做还是值得的。
对于任何严重的事情,你应该去像FusionIO这样的企业级固态硬盘和STEC的产品销售。 他们有数据在何时运行维护(TRIM等),并提供支持,以防出现问题。 我甚至看到STEC固态硬盘被HBA拉扯。 我的猜测是,这里真正的问题是,大多数供应商暴露SSD不是闪存,而是作为块设备,而控制器固件不知道如何处理磁盘和磁盘固件接口。 只有经验会告诉。 关于备份和RAID通常也适用于SSD。
但是由于您使用MyISAM作为存储后端,因此可靠性和一致性可能不是您主要关心的问题,所以只需购买它们,看看会发生什么。
考虑升级到专门针对SSD的I / Ofunction进行调整的Percona MySQL。 只是切换到SSD驱动器会有一些改进,但是MySQL不能充分利用SSD的functionhttp://www.percona.com/software/percona-server/for-ssd/
在http://www.percona.com/docs/wiki/benchmark:ssd:start上查看他们的基准testing数据