有谁知道任何比较,显示如何比较固态硬盘在SQL环境中的性能?
我试图了解通过迁移到SSD可以获得哪些性能优势。
如果你正在做大量的小读取,SSD速度要快得多。 这是less数几个关于数据库性能的比较之一。 看简单答案的底部图表。
对于原始性能,固态硬盘提供了许多优点,主要是寻找时间是有效的0,这意味着所有的小型高清数据库处理速度更快。
然而,在写入生命周期中存在一些当前的问题,因为经过如此多的写入块不再可用。 他们可以写很多,我相信在他们的32GB硬盘开始达到危险程度之前,英特尔会说一个字节的PB字节……这只会随着时间的推移而变得更好。
为了更好地理解他们为什么performance更好,请阅读Anandtech在SSD上的这篇文章 。 他详细介绍了驱动器,什么是好的,什么是不好的,以及它们如何工作的细节。 在顶部也是一个后续文章的链接,涵盖了最新的驱动器系列。
您可以将您的操作系统和SQL软件安装在标准硬盘驱动器上,然后添加一个SSD来保存您的数据库文件。 这应该限制SSD驱动器的写入次数,并最大限度地提高驱动器上的数据可用空间。
我build议您阅读以下文章将服务器存储迁移到SSD:折衷分析 ,其相当不错的阅读。
在我看来,服务器领域的SDD还没有足够的好处。 也许在短短的几年中,他们可能值得购买,现在的机器人硬盘是一个更好的select。
Nick Craver的回答很好, 我只是想添加两个警告,我认为人们应该知道的SSD:
a)SSD的写入磨损问题不会消失,它们是使用闪存单元的基础。 SLC单元比MLC具有更高的写入耐久性,所以OP应该考虑通过MLC获得SLC驱动。 当然,SLC也显着更贵。
b)当前在驱动器上驱动caching数据,然后写出。 因此, 如果在写入操作期间切断电源,则存在数据丢失的风险 。 这是你可以解决的问题,但是caching在性能和减less写入放大方面都有。
恕我直言,以上都不是dealbreakers。 我将准备今天将固态硬盘部署到生产环境,但首先需要进行一些规划。
有些事情要记住。
如果数据库足够大,读取速度变慢,而且需要固态硬盘,则需要修复索引或查看向服务器添加更多内存。
大多数数据库服务器,一旦完全调整,不需要固态硬盘运行良好。
阅读这篇文章 (相当老 – 2009年):
简介:用6个(是6个)SSD取代24 x 15k RPM SAS驱动器,性能仍然提高35%。 这是与英特尔X25Ms不再是SSD的顶尖狗。
对于数据库人员来说,这是非常棒的,因为你可以使用更小的功耗更小的服
需要考虑的一件事是将transatcionlogin到SSD上的MDF和MDF上。 寿命也将取决于应用程序types。 OLTP可能会在合理的静态数据没有问题的情况下快速地进行。
我自己的经验混合在这里…
在Windows 7上使用sql server 2008 express r2进行testing。 在一台安装了Sandy Bridge和12G内存的i7桌面上运行(我认为是DDR3)。 请原谅桌面设置,我只是在build立一个服务器之前,我可以在i7平台上pipe理多less条logging。
我首先在已安装的1.5TB 7200rpm驱动器上运行这些testing,以获得基准计时。
10klogging更新过程,优化表格,将先前相关的数据存储在一个平面表格中,增加索引,直到我把时间降低到几秒钟,然后我复制了120万条logging, 0:3:37为相同的更新。 3 1/2分钟对这个非raid设置是不坏的。
把logging翻录到256万,让我有0:15:57的时间 – 几乎增加了5倍。 可能主要是由于分页通过安装的12G内存。
安装SSD驱动器并移动数据库,时间实际上增加到20多分钟。 我假设这是因为页面文件是每个硬盘驱动器,并没有默认情况下在SSD驱动器上,因为它没有安装作为操作系统驱动器(bluescreens嘉豪,当我尝试)。
添加一个页面文件到SSD驱动器,并重新testing,0:5:52 -m,所以页面文件似乎已经做到了,但我不确定页面文件是否适合SSD驱动器的所有上述原因,他们正在大量写作,并可能会在驱动器上增加不必要的磨损和撕裂。
一个警告,我也启用了该驱动器上的Smartboost,这也可能影响了时间,将重新运行没有它。
我最好的意识是,这些日子里它更容易增加内存,而对于成本而言,混合磁盘的RAID 0 + 1几乎可以完成一个没有问题的工作。
编辑:禁用固态硬盘上的分页文件,并让智能提升做它的事情,时间从5:52分钟提高到4:55分钟为256万logging与一系列3更新每个。 我试试下一个希捷750G混合驱动器的8G SSDcaching。 那么如果这不坏,我会尝试他们在RAID 0 + 1。
最后更新,因为这是一个古老的线程 – 但我想把结果我走出去,所以有人可以find他们。
将数据库移至带有8G固态盘caching的Seagate 750G Hybrid我已经进行了几次testing,以便SSDcaching可以学习。 它给了我5:15米的时间进行同样的testing,更新了256万条logging – 这足够接近SSD的性能(与Intel智能增强系统相差4:55米),以供我考虑成本。
这个混合动力车的存储性能和性能差不多是50美元(合239美元,而现在是189美元),而不需要运行任何额外的软件来优化。 在突袭0 + 1我期望得到的时间大大改善,这个驱动器有5年的保修期,希望我不会需要它。
就个人而言,我不会因为已经提到的原因而使用SSD。 他们会逐渐放缓,最终失败。 我们还不知道这是什么时候 – 目前的估计就是这样 – 估计。 还记得80年代初/中期我们都购买了那些“无法撼动”的CD吗? 几年之后,我们认为CD上的数据存储和使用软盘一样愚蠢。
如果您的硬件,操作系统和数据库全部configuration正确,则不需要在SSD上进行赌博。
几年后,当产品成熟了一点,这将是一个不同的情况。 但在那之前…
微软研究的文章关注的是每GB的成本,而不是性能上的收益。 它实际上并不适合和testing驱动器,但使用基于来自实际服务器的日志文件的retro-castingalgorithm。
用SSD和SQL想到的一些东西:
1 /如果你忽视增加正确的索引,随机查找时间太短,SSD会更加宽容。
2 /研究完成时的成本和对于小型Web应用程序(比如运行电话应用程序的后端,而不是企业Exchange服务器)的成本有所下降,性能可以节省聘请顾问调整SQL Server的成本。
3 /带有阴影副本的单个SSD驱动器肯定要比RAID控制器和连接器中的一堆主轴便宜。 更不用说电力,暖气和机架空间了。
4 / Spindles是臭名昭着的最常见的部分死在计算机上。 SSD没有移动部件,一个小时的业务停机时间可能会一次性花费SSD的价格。
5 /磨损是一个问题,但他们有办法pipe理它(涉及散射块),这是可能的,因为随机碎片数据不会减慢SSD。 另外,大型磁盘上的小型数据库在未来可能不会耗尽时间购买更便宜的新数据库。
6 /有关于非关系数据库和在中间层进行连接的趋势。 这实际上可以改变:I / O在碎片上的SSD驱动器上的简单的无索引表,没有性能损失和更简单的扩展命题。 还保存每个碎片的SQL Server许可证。
7这全是理论上的。 如果有人对主轴进行真实的性能testing,我很乐意看到。
卢克