在 Amazon EC2 上設定叢集、負載平衡執行個體的工作量和詳細資訊

在 Amazon EC2 上設定叢集、負載平衡執行個體的工作量和詳細資訊

我一直在嘗試將所有部分收集在一起,以在 EC2 上設定由三台伺服器(2 台用於 Web 節點,1 台用於 MySQL)組成的負載平衡叢集作為 LAMP 堆疊。這只是為了在應用程式上運行效能測試,我需要收集適當的信息,以便我可以估計所需的時間。我想知道是否有人可以幫我填補以下空白:

計算單元到底是什麼?我正在考慮需要 RightScale 的 AWS CentOS 的三個鏡像實例,其中兩個作為 Web 節點,一個帶有資料庫。那我需要三個小實例嗎?

如果我使用 Apache 作為 Web 伺服器,mod_proxy 是在 Amazon EC2 上實現負載平衡的最佳方式嗎?我看到 Amazon 有一個負載平衡器,可以配置為與 Amazon CloudWatch 一起提供指標。這是更好的方法嗎?

對於應用程式緩存,我想使用 memcache。 Amazon EC2 上有這個問題嗎?我正在考慮使用圍攻(http://www.joedog.org/index/siege-faq)進行壓力測試。亞馬遜是否已經提供了一些東西來進行壓力測試,或者這是一個合適的工具嗎?

對於像我這樣沒有使用此服務經驗的人來說,除了在兩個 Web 節點上安裝我們的應用程式之外,我們在這裡查看什麼樣的時間?我主要熟悉在伺服器實例上部署應用程序,並且在伺服器配置和效能調整方面有一些經驗,但我是一名程式設計師。我想用 30 個小時進行設置,然後可能再花 15 到 20 個小時進行測試。這聽起來在球場上嗎?

答案1

如前所述,運算單元大致是較舊的 1.0-1.2 ghz 伺服器等級處理器,您需要考慮 Amazon 的 Elastic Load Balancing。

對於簡單的負載平衡 LAMP 堆疊,您應該從小型執行個體類型開始,並根據您的測試和基準測試從那裡開始工作。

memcached 在 EC2 上運作良好,但您需要考慮 EC2 的易失性(執行個體有時可能會在沒有警告的情況下停機)。

從頭開始,沒有配置管理(您沒有提到任何內容,所以我假設沒有,但我喜歡 Chef),您可能需要大約 2 個工作週。總是高估,因為 EC2 可能......使用起來很挑剔。

我還建議使用 EC2 API 工具(更好的是您最喜歡的程式語言的程式庫),以便您可以透過程式控制您的執行個體。

答案2

答案3

如果您只計劃運行機器一段時間,您可能可以簡化很多事情並避免使用亞馬遜的彈性塊存儲。這意味著您的文件在關閉或崩潰時不會保留。如果您不關閉實例,它們不太可能崩潰,或者您將丟失資料。您不想在生產中執行此操作,但對於測試來說應該沒問題。

對於負載平衡器,只需使用 Amazon 的彈性負載平衡。如果您打算在生產設定中使用硬體負載平衡器運行,請使用 Amazon 的負載平衡器。如果在生產中您打算使用軟體負載平衡器 - 那麼可以,在 EC2 上使用相同的負載平衡器。

對於測試,我喜歡使用以下命令進行低階 http 測試httperf。對於應用程式級測試,我喜歡使用 JMeter。通常,我會以相反的方式進行測試。我在 EC2 上執行 JMeter,並在我的非 EC2 資料中心上進行測試負載。這樣我就可以進行完整的端到端測試。但是,我猜您正在進行測試,因為您本地沒有額外的硬體來運行模擬生產設定。

相關內容