测试设置
ESG的实验室测试了3个到5个服务器节点的Scality Ring,服务器之间通过一个10Gb/秒以太网线缆来连接。每台服务器配置24个英特尔Xeon CPU核,24GB的RAM,6个600GB英特尔SSD(固态驱动器)。软件将每个SSD分成两个区,也就是在每个服务器节点上创建12个I/O区(软件节点)。
ESG的Scality Ring设置
一般的对象存储系统,比如Scality Ring 1,采用的是基于磁盘驱动器的设计。不过,在这个ESG测试中,每个Ring服务器节点都是基于闪存的对象存储节点,而不是基于磁盘的,因此它的性能“比起行业领先的基于块的双控制器磁盘阵列的每秒I/O性能来说是非常好的结果”。
为什么Scality和ESG选择用基于SSD的Ring来比较基于HDD的驱动器阵列?
Scality首席执行官Jér?me Lecat表示:“和一般人的想法不同,我们确信我们的基于对象的存储在并行负荷上要快于SAN,但是我们要怎样证明它呢?”
“我们研究了其他人(SAN、NAS、向外扩展NAS)是如何汇报自己的性能成绩的,我们发现在他们的测试设计中,大多数IOPS(每秒输入输出) 性能数字是来自RAM/高速缓存/SSD,而不是来自HDD访问。所有存储系统都有一些控制器记忆体和一些高速缓存和/或分层机制。通过某种优化,很容易 让测试数据主要集中于系统的这个部分而不是磁盘部分。”
“Isilon,一家向外扩展NAS(网络附加存储)公司,和我们在许多方面具有可比性。它去年著名的IOPS记录也是采用同样的方式。你可以在当时报告的第六页看到平均响应时间低于3毫秒,这个时间对于1万转磁盘的数据读取来说太短了。”
他表示假设业内许多人认为“我们的软件采用完全可扩展的分布式元数据架构,因此必然会有许多延迟。一旦人们理解我们的架构,他们通常就不会在并行能力上质问我们,而是担心我们在原子操作上的延迟成本。我们认为在SSD上测试是最好的测试我们软件内在延迟性的方式。”
延迟性
“ESG实验室的测试成功显示我们的系统可以在SSD上用不到7毫秒的时间读取和写入对象,这个数字在加入新节点后也非常稳定。从这个测试中,以及 根据我们的生产经验,我们可以推测出一个纯HDD(没有SSD)构建的双层架构可以用7200转磁盘实现平均40毫秒的读取速度,在1万转磁盘下实现35 毫秒读取速度——相当于Isilon在它们自己的ESG测试中使用的磁盘。”
Lecat表示DataDirect的Web Object Scalar DDN WOS2在HDD操作上有40毫秒的延迟。他认为,通过使用SSD,Scality可以显著降低延迟时间。同时,分析显示大多数延迟来自以太网网络而非来自服务器节点的Scality软件。
如果不使用以太网而使用InfiniBand节点-到-节点连接的话,也许SSD延迟时间可以进一步降低到3毫秒,不过Lecat表示:“实际上,对于大多数文件应用程序而言,40毫秒的延迟是完全可以接受的,而对于那些需要更低延迟的人来说,配置一些SSD不是问题。”
是的,SSD可以提高对象存储性能,不过通常没有这个必要。Lecat表示:“我们同意说在PB级水平上用纯SSD存储是合理的。通常,在PB级环 境中,只占5%容量的SSD可以显著提高性能,同时成本还非常合算。这也就是说,我们只推荐在应用程序需要快于40毫秒速度的情况下使用SSD。”
替换Symmetrix
他提到一个客户,时代华纳有线公司,将原来的一个EMC阵列替换成纯HDD的Scality Ring:“我们的Ring被部署在时代华纳有线的主存储上,用于纯HDD的消费者电子邮件平台。对于这个高度互动的应用程序来说,不需要SSD。我们替换了1PB多数据的EMC Symmetrix。”
Lecat这样总结Scality Ring的存储系统性能:“我们有三种性能指标:IOPS,吞吐率和延迟性。许多人认为如果一个存储系统如果在其中一项上表现好的话应该在其他指标上也会 好,但其实它们是完全不同的指标。因为完全并行的设计,我们的架构拥有非常优秀的IOPS和吞吐率,我们甚至不需要SSD或高速HDD就可以做到这一点, 近线SAS就足够了。我们的弱点在于延迟性。ESG测试表明我们在最弱的点上表现也不糟糕,实际上如果应用于非结构化数据应用程序的话,我们可以做得非常 好。”
“至于虚拟机和关联数据库应用程序,延迟性确实是个问题,因为它们有许多顺序操作。我们将这个市场留给像Pure Storage或SolidFire这样的公司。”
我们还可以进行更多的性能测试,比如SPECsfs标杆测试,可以测试更多服务器节点,但是ESG的报告已经足够显示Ring对象存储系统可以媲美 传统SAN阵列,并且可以服务于数以万计的小型对象,比如MP3文件,速度比高性能计算阵列还快。认为对象存储慢于传统文件系统设备和SAN阵列的想法已 经过时了。
脚注
Scality Ring采用双层架构。第一层用复制功能来作为数据保护机制,用高速磁盘来提高性能。第二层用删除码技术来保护大多数数据。第二层使用更便宜的SATA或近线SAS磁盘。
在Scality的Ring中,第二层磁盘的性能来自大量使用并行性,同时也得益于删除码技术不会给读取带来影响。第二层存储上每个节点的数据索引 处于记忆体中。通过这种架构,代表80%请求的10%的数据存储于第一层架构,提供不到10毫秒的对象提供速度,另外代表20%请求的90%的数据存储在 更廉价的第二层架构中,用近线SAS驱动器在40毫秒左右速度下提供对象。