只是根據我的發現對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」中有什麼價值(至於我應該看什麼)。
謝謝。
正確。當一天晚些時候進行測試時,打開緩存時可以使用Web1提供更好的結果。現在我正在接近每秒130個請求。所以最大的問題是當緩存沒有打開時,Web2會回到什麼位置。 5請求一秒鐘是狗慢。 – spicer