使用固态驱动器(特别是对于PostgreSQL数据库)(例如惠普的IO加速器 )提高数据库性能的经验是什么?你看到什么明显的改进了吗?
发布于 2009-06-05 16:13:09
这是一篇很棒的博客文章,其中包含了詹姆斯·汉密尔顿( James )的大量研究和数据链接,詹姆斯·汉密尔顿(James)是我以前在微软工作的一位架构师。
SSD与企业和SAS磁盘
我在周二的.NET摇滚录音中与理查德和卡尔简短地讨论了这一点。如果您有一个带有随机读取工作负载的IO瓶颈,那么使用SSD会给您一个很大的提升,因为它会降低延迟和寻找时间。
希望这能有所帮助
编辑: PS,当然,我的数据/观点都是围绕Server的,但是IO子系统是IO子系统,结果应该在任何主要的RDBMS之间都能很好地转换)
发布于 2009-06-05 23:47:22
为了澄清其中一些已经提到的要点:
MLC驱动器每个单元存储更多的数据,这略微增加了写入延迟。它们还显著降低了SLC驱动器的预期写入周期计数(通常为十分之一)。对于任何与企业相关的事情,我都会远离MLC驱动器。
关于驱动器的总体寿命,所有SSD都使用磨损平衡算法来平衡热写入区域。有些驱动器保留空闲的闪存区域供内部使用(英特尔X25-E可以这样做,FusionIO驱动器让您在划分驱动器时确定保留区域),这扩展了写入能力--如果您有80 GB的闪存来在60 GB的分区上使用,那么驱动器的持续时间就会更长。
所有SSD还需要一个擦除循环才能覆盖块。(删除文件时不会擦除块,因为文件删除是FS操作,而块设备看不到)。对于控制器不佳的驱动器来说,这可能会在重写期间造成严重的性能影响,因为这种操作可能需要一段时间,在某些情况下还会阻塞访问。英特尔的驱动器,我相信,利用他们的备用闪光灯加速这-他们使用备用闪光灯提供一个干净的块写,然后删除脏块,并将它移动到备用池的背景。有一个新的ATA TRIM命令正在较新的驱动器中实现,linux和windows 7中都提供了支持,这将允许操作系统触发所有脏块的后台擦除,这将提高性能。
SSD的长期“性能下降”通常是针对上面提到的擦除/写入周期,所以体面的驱动器和TRIM命令应该从根本上消除这个问题。
如果您要为企业系统获得SSD,请进行研究,并且只获得高质量的企业级SLC驱动器。英特尔X25-E (不是-M,这些是桌面驱动器)和融合IO驱动器是我唯一推荐的现阶段。
发布于 2009-06-05 16:12:34
我们用融合IO卡做了一些Oracle基准测试。速度相当快。
我们35分钟的过程中有一次被缩短到了11分钟。
它本身不是一个SSD驱动器,而是一个带有NAND内存的PCI卡。
据推测,SLC型比刚果解放运动型要好。
不幸的是,只有64位操作系统支持,所以32位必须迁移或等待32位驱动程序(来自Fusion )。
https://serverfault.com/questions/20594
复制相似问题