写点什么

测量和比较 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:594137
用户头像

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

关注

评论

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

视频号加强打击低俗内容:对违背公序良俗的内容必须赶尽杀绝

石头IT视角

python干货——函数

Java学术趴

7月日更

架构实战营模块二作业

zhihai.tu

1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮

BlockChain先知

Qt | 设置部件大小 sizeHint、minimumSizeHint、sizePolicy、stretch factor

YOLO.

qt 7月月更

1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮

股市老人

阿里onedate分层思想

奔向架构师

数据中台 7月月更

JAVA编程规范之建表规约

源字节1号

后端开发

计算机网络之初识网络

未见花闻

7月月更

【函数式编程实战】(四)流-Stream API原理解析

小明Java问道之路

Java 后端 stream 函数式编程 7月月更

微信朋友圈的高性能架构设计

张立奎

查策,查策,python字体反爬再一次实践

梦想橡皮擦

Python 爬虫 7月月更

openEuler 资源利用率提升之道 01:概论

openEuler

开源 openEuler 内核 资源管理

在openEuler社区开源的Embedded SIG,来聊聊它的多 OS 混合部署框架

openEuler

Linux 开源 操作系统 嵌入式 openEuler

开源分布式链路追踪对比

穿过生命散发芬芳

链路追踪 7月月更

接口测试

Xd

接口测试工具

1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮

鳄鱼视界

节流和防抖的说明和实现

南极一块修炼千年的大冰块

7月月更

STM32+ESP8266+MQTT协议连接阿里云物联网平台

DS小龙哥

7月月更

Redis管道技术/分区

恒山其若陋兮

7月月更

汇编语言伪指令详解(附实例)

timerring

汇编语言 7月月更 伪指令

什么是 Rest 动词

宇宙之一粟

REST API 7月月更

CentOS 7 常用的 11 个小技巧

耳东@Erdong

Linux 7月月更

通过http请求启动jenkins任务

程序员欣宸

Java jenkins 7月月更

LibcarePlus 用户态热补丁技术那些事

openEuler

安全 openEuler 漏洞 #开源

D1-H 开发板——哪吒 开发入门

贾献华

7月月更

ES6箭头函数的使用

bo

JavaScript 前端 ES6 7月月更

strncat() strncmp()

謓泽

7月月更

使用 Vue + Three.js 构建交互式 WEB 作品展示集(一)

devpoint

Vue three.js 7月月更

最新的swoole-cli已可以支持Windows,手把手带你在windows体验swoole

迷彩

swoole 服务器开发 7月月更 swoole-cli

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