【问题标题】:Performance Difference Between Amazon EC2 and LinodeAmazon EC2 和 Linode 之间的性能差异
【发布时间】:2012-08-25 19:18:00
【问题描述】:

根据我的发现,我只是对 EC2 和 Linode 之间的区别感兴趣。我意识到有一百万件事情会出错。只是想知道从哪里开始。

我一直在对我的博客登录页面的请求进行计时(通过 Apache Benchmark)。它有大约 22 个 sql 查询和相当数量的 html。我在两台服务器上设置了完全相同的站点。

Web1 - 托管在 Linode(512 大小 VPS)。

Web2 - 托管在亚马逊(微型 VPS)。

然后我测试了与两者建立 100 个并发连接。我首先运行测试以预热数据库,然后真正运行它。

Web1 - 每秒 33 个请求。

Web2 - 每秒 5 个请求。

然后我安装了页面缓存。这是它将完整的 html 返回存储在文件中的位置。因此,它无需通过 PHP 控制器并建立数据库连接,而是仅返回静态 html 文件。

Web1 - 每秒 32 个请求。

Web2 - 每秒 88 个请求。

您会注意到文件缓存在 Web1 上并没有真正发挥作用。似乎数据库/PHP返回速度很快,只需打开一个文件并返回它。您会注意到在 Web2 上,与第一个请求相比,它变得非常快。

我一整天都进行了多次这些测量。这不是一次性的问题。


这是我所知道的。

  • 两个系统是相同的。当我用相同的方式配置它们时 部署脚本。
  • Web2 (Amazon) 很可能在 SAN(文件系统)上运行。
  • Web1 (Linode) 很可能从本地硬盘驱动器(文件系统)运行。
  • 不确定它背后的 CPU 是什么。我会假设它们是不同的CPU。我无法想象 CPU 有很大的不同。

我真的很想知道是什么让 Web2 在没有缓存的情况下如此缓慢,而在有缓存的情况下却非常快,而 Web1 两种方式都相同。

你有什么想法? CPU、IO?

你会如何追踪瓶颈?

我没有看到任何疯狂的负载(带有“w”)。不是 100% 在“iostat”中有价值的东西(至于我应该看什么)。


谢谢。

【问题讨论】:

  • 更正。当缓存打开时,在当天晚些时候进行测试可以使用 Web1 获得更好的结果。我现在接近每秒 130 个请求。所以最大的问题是当缓存没有打开时是什么阻碍了 Web2。每秒 5 次请求太慢了。

标签: io amazon-ec2 amazon cpu linode


【解决方案1】:

所以我想通了。

跛脚。但是如果你在亚马逊有一个微型实例,它们会限制你的 CPU。因此,当我尝试使用并发连接进行多次连接时,它们限制了我的 CPU。

【讨论】:

  • 这是微实例的主要原因。 CPU 受到限制。无论如何,正如 Peter 所说,Amazon EBS 的卷与云中的其他卷相比确实很慢。
【解决方案2】:

似乎 EC2 很慢。除非您是大型网站并且需要大量扩展。

我找到了https://www.digitalocean.com。在比较 EC2 微实例时,它们似乎非常棒。

【讨论】:

    【解决方案3】:

    一个可能的因素是 EC2 EBS 卷与标准 HDD 相比往往非常慢(与 SSD 相比甚至更慢)。

    See this SO Q&A.And this criticism (that is linked to from the SO link).

    这可能不是缓慢的全部原因,但如果 Linode 选项使用真正的 HDD,这至少是部分原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 2012-05-26
      • 2013-09-02
      • 2014-03-15
      • 2010-12-07
      • 2017-06-05
      • 2011-12-03
      相关资源
      最近更新 更多