2012-08-31 31 views
6

只是根據我的發現對EC2和Linode之間的區別感興趣。我意識到有一百萬件事情可能會出錯。只是想知道從哪裏開始。亞馬遜EC2和Linode之間的性能差異

我一直在計時請求到我的博客登陸頁面(通過Apache基準)。它有大約22個SQL查詢和相當數量的html。我在兩臺服務器上安裝了完全相同的站點。網頁1 - 託管在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」中有什麼價值(至於我應該看什麼)。


謝謝。

+0

正確。當一天晚些時候進行測試時,打開緩存時可以使用Web1提供更好的結果。現在我正在接近每秒130個請求。所以最大的問題是當緩存沒有打開時,Web2會回到什麼位置。 5請求一秒鐘是狗慢。 – spicer

回答

4

所以我想通了。

跛腳。但是如果你在亞馬遜有一個微型實例,他們會限制你的CPU。所以當我試圖連接多次併發連接時,他們限制了我的CPU。

+0

這是微觀物質的主要原因。 CPU受到限制。無論如何,正如Peter所說,與雲中的其他人相比,Amazon EBS的數量真的很慢。 – adosaiguas