我们决定升级数据库服务器,现在运行在 FreeBSD 8.0-STABLE、Intel(R) Xeon(R) CPU E5335 @ 2.00GHz(1995.01-MHz K8 级 CPU)、8GB RAM 上,数据库在 SAS 硬盘上运行,从属服务器在另一个盒子上,每秒对数据库的查询超过 2000 个,数据库大小为 25 GB。
我对 SSD 技术完全陌生,我阅读了大量信息,但我仍然不确定哪种 SSD 硬盘最好购买——32 GB 应该足够了,SSD 的价格上限为 1000 美元,控制器也是如此。
我正在考虑购买英特尔 X25-E SSD,但我发现 Patriot 或 OCZ Vertex 的效果也不错……
根据http://it-blog.5amsolutions.com/2010/08/performance-of-postgresql-ssd-vs.html与使用“标准”硬盘相比,性能确实有很大提升。
谢谢你的帮助。
答案1
众所周知,英特尔驱动器的写入缓存违反了 PostgreSQL(和其他数据库)的期望;请参阅可靠性请参阅文档部分以了解这些内容的详细信息。当操作系统执行正常的 fsync 调用时,它们不会刷新其写入缓存,这对于 SATA 驱动器来说是正常的。如果服务器因断电而崩溃,这将导致数据库损坏。因此,唯一真正的选择是完全关闭写入缓存,如果你这样做,你会发现性能很糟糕;驱动器的预期寿命也会下降。有些人报告说,即使这样它也无法正常工作。请参阅SSD、XFS、LVM、fsync、写入缓存、屏障和丢失事务了解更多信息。
最近发布的 OCZ Vertex 2 Pro 驱动器使用 Sandforce 控制器并配有 Ultracap 电池备份,是第一款进入市场的相对便宜的 SSD 型号,值得考虑。它通过了我们 PostgreSQL Performance 邮件列表中针对此类设备进行的所有可靠性测试,英特尔驱动器惨遭失败。请参阅测试 Sandforce SSD了解基准和可靠性测试信息。有些更昂贵的“企业级”SSD 也能很好地工作,但这些设备都价值数千美元。请注意,您必须小心购买 Vertex 2 Pro,更便宜的 Vertex 型号不会配备使这一切正常工作所需的 Ultracap。
答案2
您真的想在磁盘密集型系统上使用寿命受写入次数限制的 SSD 吗?是的,您会看到性能提升,但您可能会遇到更多磁盘故障,并且必须更频繁地更换磁盘。
您是否使用快速 15k SAS 驱动器查看过数据库的性能?请记住,磁盘控制器也会对此产生影响。从经验来看,获得高质量的 RAID 控制器可以带来很大的不同。
答案3
山姆,
感谢您的回答,我在这里阅读了有关 SSD 寿命的信息:http://www.storagesearch.com/ssdmyths-endurance.html- 这就是我选择 Intel X25e 的原因,它应该足够满足这个要求。现在我有 10k RPM SAS 驱动器,我也想尝试不同的设置,所以...
您建议使用哪种 SSD RAID 控制器(SATA,我的意思是英特尔……)?
另外回答 Lars,我得到了大约 5% 的更新/插入,大多数使用都是选择。
答案4
只是为了提供一个不同的想法,我想补充一点,与英特尔固态硬盘相比,SandForce 控制器非常好。我会研究控制器以及是否可以获得 TRIM 支持(我认为对于 Linux,这取决于您的内核版本 2.6.??;我不知道是否支持 BSD)。这里有一篇来自 PCPerspective 的关于 SandForce 固态硬盘的精彩综述文章(http://www.pcper.com/article.php?aid=911)以及 OCZ 固件更新将存储量增加 20%(http://www.pcper.com/article.php?aid=912)