写点什么

测量和比较 5 种云平台的性能

  • 2010-07-28
  • 本文字数:1457 字

    阅读完需:约 5 分钟

Bitcurrent Webmetrics 针对 5 种不同的云平台——Amazon、Google、Rackspace、Salesforce.com 和 Terremark 进行了为期一个月的大量测试,尝试测量每种平台的性能。其中一个结论是每种平台针对不同类型的应用各有所长。

为了测试云性能,报告作者选取了 4 种类型的测试并在 5 个云平台上运行 5 个原生应用作为基准。

测试

  1. 请求小对象——1x1 像素的 GIF 图片
  2. 请求大对象——2MB 大小的图片
  3. 执行 CPU 高消耗的任务——100 万次 sine(正弦)和加法操作。由于 Salesforce.com 的平台限制,负载是 10 万次。
  4. 执行 IO 高消耗的任务——通过 MySQL 数据库查询 50 万行的数据表(Amazon、Rackspace、Terremark 使用了显式缓存、Salesforce.com 使用了 data store,Google 使用了 BigTable)。

原生应用

为何给原生应用作基准测试,作者选择了 5 款为平台定制开发的真实网站。针对 Salesforce.com 的网站采用 Apex 编写,针对 GAE 的应用采用 Java 和 Python 编写,网站运行在 Amazon 和 Rackspace 中 Xen 服务器上的 Linux 系统上,而 Terremark 则运行在 VMware VM 上。应用的名字没有被公开。

为了实施测量,作者使用了 WebMetrics 的服务,在一个月内从世界不同地方以不同的间隔时间发送请求。

Salesforce.com 和 GAE 提供了 PaaS 服务,而 Amazon、Rackspace 和 Terremark 提供了 IaaS 服务。

结果

5 个云平台上 4 种测试的延迟如下所示:

所有平台针对小对象都表现不错,而在大对象方面,PaaS 平台比 IaaS 更出色。Salesforce.com 在 CPU 高消耗的任务中,虽然计算压力只有其他平台的 10%,但是表现依然糟糕。Google 和 Rackspace 在 IO 测试中脱颖而出。

针对原生应用的测试结果如下所示:

PaaS 云表现更好,之后是 Amazon 和 Rackspace,而 Terremark 由于响应时间在 12 秒的延迟所占比例较大而排名末尾。

结论

性能测量报告的作者总结了测试过程中的经验教训并列举了一些结论:

  • 小心你的邻居。我们已经确切地发现一些云应用会同时出现性能下降,所以你肯定会被使用同一片云的其他应用所影响。
  • 理解你所在云的配置。上文显示的图表明不同的云擅长不同的任务。你需要选择虚拟机器的容量——CPU、内存等等——以便提供出色的性能。
  • 安插个内线。当你制定监控策略时,需要定制代码以执行后台函数,可以尽快地找到问题。
  • 根据工作负载选择 Paas 还是 IaaS 平台。如果你乐于重构你的应用以利用“大数据”系统如 BigTable,那么选择 PaaS 云伸缩性很好。另一方面,如果你需要独立的机器,那么不得不在 IaaS 配置中构建弹性。
  • Big data 不是白来的。使用大型、稀疏的数据存储可能很好,但是这需要花时间来导入(在 Google 的测试中用了 37 个小时!),这可能不符合你的应用使用模式。
  • 监控使用情况。在 PaaS 中,如果超过了速率限制,你的用户会得到错误信息。
  • 排除故障很困难。为了定位问题,你需要分析互联网的数据、云提供商的数据和应用的各个层次。当你使用专有的基础设施时,无需花费太长时间来排除第三方的问题(如共享带宽引起的竞争或者 I/O 阻塞)。
  • PaaS 意味着你们在同一只篮子里。我们注意到如果你是用 PaaS 平台,当云性能下降时,所有应用也紧随其后。在 IaaS 中,存在更多独立的 CPU 和服务器的快速反应——但是你仍然会面对共享存储和网络带宽的竞争。

完整报告包含了在每个云平台的性能基准测试中收集的详细信息。

注意:因为测试结果受不同类型的工作负载、代码、步骤、实际部署环境和其他因素的影响,报告的作者建议读者仅作参考。本研究并不想特意推荐某一款云平台。

查看英文原文: Measuring and Comparing the Performance of 5 Cloud Platforms

2010-07-28 21:594159
用户头像

发布了 501 篇内容, 共 257.3 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

Python进阶——如何正确使用yield?

Kaito

Python

智慧公安大数据可视化分析系统搭建

t13823115967

9 性能优化(三)课后练习

ABS

极客时间架构 1 期:第 10 周 模块分解 - 命题作业

Null

week6-学习总结

未来已来

Appium上下文和H5测试(二)

清菡软件测试

40 张图带你搞懂 TCP 和 UDP

苹果看辽宁体育

计算机网络 计算机基础 计算机

架构师训练营第十周学习笔记

一马行千里

学习 极客大学架构师训练营

CAP原理

git 在未保存,add,commit,push下撤销的方法?收藏后再也不用找了

小松漫步

第十周 模块分解总结

蓝黑

极客大学架构师训练营

第10周作业

paul

week6-命题作业

未来已来

Effective go 笔记-01

邵俊达

Effective-go Go 语言

第十周学习总结

solike

除了梦里什么都有之外,我想可以让现实生活中也可以有点什么。

叶小鍵

日本 健康 川村昌嗣 瘦身 走路 运动

第六周-总结

jizhi7

极客大学架构师训练营

架构师训练营第十周命题作业

一马行千里

极客大学架构师训练营 命题作业

腾讯云轻量应用服务器 SSH 配置

邵俊达

SSH 轻服务器

第六周-作业

jizhi7

第四代Express框架koa简介

程序那些事

nodejs 异步编程 koa Express 程序那些事

如何高效的使用并行流

Silently9527

java8 java 并发

第十周作业

solike

架构师训练营第十一周作业

Geek_4c1353

极客大学架构师训练营

极客时间架构 1 期:第 10 周 模块分解 - 学习总结

Null

第06周 CAP 原理

Airship

极客大学架构师训练营

与前端训练营的日子 --Week05

SamGo

学习

10 模块分解课后练习

ABS

第 06 周学习总结

Airship

极客大学架构师训练营

目标检测之WBF(Weighted Boxes Fusion)

Dreamer

目标检测

成千上万个站点,日数据过亿的大规模爬虫是怎么实现的?

穿甲兵

Python redis 爬虫

测量和比较5种云平台的性能_亚马逊云科技_Abel Avram_InfoQ精选文章