根据我的发现,只是对EC2和Linode有什么区别感兴趣。我意识到有一百万个地方可能出错。只是想知道从哪里开始。

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

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

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

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

Web1-每秒33个请求。

Web2-每秒5个请求。

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

Web1-每秒32个请求。

Web2-每秒88个请求。

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

我整天做了很多次这些测量。这不是一次性的问题。

这就是我所知道的。

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


  • 我真的很想知道是什么使没有缓存的Web2变慢,而有缓存并且Web1的两种速度都相当快。

    你有什么想法? CPU,IO?

    您将怎么做才能找到瓶颈?

    我看不到任何疯狂的负荷(带有“w”)。不是100%在“iostat”中有值(value)的东西(关于我应该看的东西)。

    谢谢。

    最佳答案

    一个可能的因素是,与标准HDD相比,EC2 EBS的体积往往很慢(与SSD相比甚至更大)。

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

    这可能不是造成速度缓慢的完整原因,但至少是部分原因(如果Linode选项使用的是真正的HDD)。

    关于io - Amazon EC2和Linode之间的性能差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12207426/

    10-11 02:27