【IT168 专题报道】由英特尔主办的全球IT界高水平的技术论坛活动——2012英特尔信息技术峰会(Intel Developer Forum, IDF),将于4月11至12日在北京国家会议中心举行。本届IDF以“未来在我‘芯’”为主题,前瞻IT产业的发展与计算体验的变革,共迎个性化计算时代的到来。
随着 SSD 越来越多地部署于数据中心的不同存储层上,了解 SSD 在企业应用中的性能越来越有必要。 优化这些独特应用中的 SSD 吞吐量和 I/O 每秒运算次数(IOPS)涉及研究 SSD 架构行为和了解具体应用要求。 而且,服务质量和响应可预测性也越来越重要。
下面为您介绍的就是“针对数据中心应用优化固态硬盘的性能”的技术课程
本技术课程主要介绍了SSD在数据中心中的应用、影响SSD性能的因素、性能数据以及优化方法、性能基准数据等内容。在现今及未来条件下,存储/内存间的脱节促进了SSD在分层存储中的应用。而SSD正好填补了DRAM和机械硬盘(HDD)之间的价格/性能差距。
对于SSD来说,我们需要了解的是所有SSD都有一套逻辑地址和物理地址的关联系统。对于数据,不管是顺序还是随机写入,这套系统都没有殉职时间,因为他们都是被顺序地写到NAND里面去的。而且,即使用户反复更新热点数据,NAND也会被均匀的损耗。就像常开车的朋友知道,左右两边的轮胎是需要定时更换位置的。而且对于SSD数据的写入,同样的逻辑地址在每次写入的时候将不会对应到同样的物理地址上。
对于SSD来说,其碎片回收及整理的操作必不可少。在进行了多次数据写入与擦除后,其内部空间势必会产生碎片。如上图所示,蓝色位置为碎片位置,通过检测后,碎片整理流程会搜索存储阵列,寻找无效数据最多的地方,并且擦除,作为新的可用空间。
大家可能也想到了,我们有时不会那么幸运碰到的都是连续的碎片。就如上图所示,扫描存储阵列后,找到了无效数据最多的地方,但是它不是连续的。碎片整理会导致NAND写入,也叫做写入放大。
${PageNumber}如何优化SSD性能
就像上图所示,当所有汽车都集中停在一起时,再想开出来就有很大难度了。如果想右下图所示那样排列,其将会非常有效的进行调度。那么有多少可用空间才算合理呢?我们知道,更多的冗余空间对于提升碎片整理的效率有着重要的作用。通过数据显示,对于消费级应用来说,这个数字是7.4%,而对于典型的企业级应用来说,20-50%的冗余空间会更好。
Intel SSD 320与710系列的性能对比图。有的用户会说,相比710系列的高价格来说,同样是SSD,我用320系列就能满足企业应用了。其实是不然的。通过上图我们可以清楚的看到,如果不做过量冗余,710系列的性能比320来说提高了30倍以上!
我们在测试SSD的性能时,都需要做一些数据的准备。对于一个空的SSD,测得的写入性能会高的不切实际。那么我们应该怎么来测试呢?首先顺序写满整个盘,在写入至少2倍容量的目标载荷以使得性能达到稳态。而且无论何时,我们都要保持写缓存开启,因为英特尔SSD710系列和320系列都有写缓存保护机制。
总结起来就是,对于SSD的性能提升,我们要采用合适的容量以获取最大的顺序带宽,采用最大的队列深度以获取最好的随机读IOPs,权衡队列深度和系统允许的最大延迟以获取更好的随机写性能。我们还需要了解工作负载以及其IOPs/延迟额要求,从而合理配置我们的存储。