如今,IaaS 行业缺少标准,各家厂商随意使用各种词汇描述他们的云资源,客户面对不同的词汇和眼花缭乱的市场宣传,必有“乱花渐欲迷人眼”之感。
Cloud Spectator 公司使用一系列评测手段,致力于评测、对比不同云 IaaS 服务器的性能表现。前不久,他们发布了一份报告——《云服务器性能报告——5 大云 IaaS 厂商对比》。这份报告评测了世界上最大的 5 家 IaaS 提供商,同时提供了一个流程,用来明确判断一家云提供商的产品性价比,解决市场中标准化的问题。这五家厂商包括:Amazon EC2、Rackspace OpenStack Cloud、HP Cloud、SoftLayer CloudLayer Compute 和 Windows Azure。
评测持续了 5 天,其结果是:Windows Azure 是性能表现最好的厂商,而 Amazon EC2 是性能表现最差的厂商,前者的得分是后者的 3 倍。
报告中指出:
自 2011 年以来,IaaS 行业的大厂商之间陷入价格战,可结果并不尽人意。因此,客户在选择厂商时,除了考虑性能外,还要注意厂商提供的其他特性。
报告中接下来列举了评测的方法论:
- 测试周期:持续 5 天,每天 3 次,记录每天最高和最低得分,并按照时间顺序展现在图表中。
- 服务器规格:Cloud Spectator 选择了行业最常用的 4G 配置,也就是内存在 4G 左右,使用 2 个或 4 个虚拟 CPU,操作系统都是 Ubuntu 12.04。
- 评测软件:最新的 Unixbench 5.1.3. 该软件会执行多个独立的压力测试,看看服务器能承受多少负载,以及处理这些负载的效率如何。Unixbench 的评分为 10 星制。
图:各家服务器评测配置
Cloud Spectator 指出:执行这些测试,是为了收集两个很难从厂商拿到的信息:
- 性能:各家厂商在 Unixbench 下的得分,以及这些得分的一致性。5 天的时间,就可以收集多种性能表现信息。毕竟公共云环境中,常见的吐槽就是:资源共享,因此服务器性能难以得到保障。
- 性价比:建立起性能得分后,Cloud Spectator 放入成本因素,以理解用户的成本投入能有多少性能产出。
他们还使用了 CloudSpecs Score 评分标准,得分最高的厂商为 100 分,其他家根据与其相对关系计算得分,这样既可以计算出最高性能的厂商的得分,同时也能得出他们相对于其他竞争对手多交付多少价值。
在只考虑性能的具体评测结果中,Cloud Spectator 发现得分明显分为两个层次:Amazon EC2 和 Rackspace 位于 300-600 这个阶段,SoftLayer、HP Cloud 和 Windows Azure 位于 1100-1500 这个极端。平均来看,得分最高的 Windows Azure 是得分最低的 Amazon EC2 的三倍。
图:各家 IaaS 厂商评测性能得分
Cloud Spectator 还通过变异系数(The coefficient of variation,简称 CV)来考量各家厂商的稳定性。结果发现,变化最剧烈的就是 Amazon EC2 和 Rackspace,变异系数分别达到 4% 和 6%,HP Cloud 是 1%,而 SoftLayer 和 Windows Azure 是 0%。
如果将成本因素考虑进去,也就是每家厂商每小时的使用成本,具体的计算方法是,将各家的 Unixbench 平均得分除以各家每小时的使用价格,得到一个相对的性价比得分。Windows Azure 再次独占鳌头,是得分最低的 Rackspace5 倍还多。其中 HP Cloud 排第二,SoftLayer 第三,Amazon 第四。
图:各家 IaaS 厂商评测性价比得分
有了上述两项评测结果,Cloud Spectator 计算出了 CloudSpecs Score 得分。Windows Azure 以性能和性价比的两项第一再次占得桂冠。如果 Windows Azure 得分为 100,那么 HP Cloud 为 80,SoftLayer 为 36,Amazon EC2 为 26,Rackspace 只有 19 分。
所以,从整体价值上来说:Windows Azure 是 Rackspace 的 5 倍,是 Amazon EC2 的 4 倍,HP Cloud 是 SoftLayer 的 2 倍。
接下来,Cloud Spectator 指出:Unixbench 评测仅仅是个开始,应该进一步深入测试各个云服务器,以达成两个目的:
- 发现性能瓶颈
- 收集与业务应用和 IT 云策略相关的性能测试指标
对于数据库测试来说,很多开源数据库带有自己的评测体系,可以很方便地测试。
如果要测试硬件,Cloud Spectator 建议使用 Phoronix 评测套件,可以用来测试 CPU、内存和磁盘性能;MongoDB 自带的 Mongoperf 也可以用来测试 IO。
内部网络是 web 应用和云中数据库的关键组件,同时也是不可忽略的瓶颈。可以使用 Iperf 来测试吞吐和延迟,从而准确掌握网络的运行效率。Cloud Spectator 建议使用 Iperf 时要带上单线程和多线程选项,从而在扩展资源时,便于发现性能的降级或是需要改善之处。
对于整体的网络延迟,使用 ping 就可以了,简单高效。
对于灾难恢复和备份来说,Cloud Spectator 建议企业使用广域网,同时可以用 ping 值、延迟和吞吐来度量数据中心的正常运行时间。
在结论部分,Cloud Spectator 指出:虽然 Amazon EC2 价格最低,但对于需要高性能的客户来说不是最好的选择。同时,Unixbench 仅仅是一种测试工具,很多其他的测试,可以度量 CPU、磁盘、内存、内部网络、外部网络和应用性能,这些都可以用来进一步调优特定的测试,以指导 IT 部门和企业在做出公共云和私有云采购时的决策。
在 Cloud Spectator 的网站上,能够发现他们提供的一些测试选项,这些项目同样可以供国内的 IaaS 厂商参考,具体包括:
- 通用服务器性能
- CPU 文件压缩测试
- CPU 视频编码测试
- 磁盘文件系统性能测试
- 磁盘无缓存写操作测试
- 磁盘无缓存读操作测试
- 内存处理带宽测试
- 内存通用测试
- 内部网络吞吐量测试
- 内部网络延迟测试
- CPU 线性代数程序包(Lapack)测试
目前,国内提供公共云服务的厂商越来越多,期待国内能有类似 Cloud Spectator 这样的第三方厂商,为业界提供中立、客观、可信度高的测试服务。
各位 InfoQ 中文站的读者们,你们在测试云的时候,都测试哪些选项呢?
评论