2016-10-01 52 views
1

我們的網站變得越來越慢,我們需要升級。 我們目前是AWS,擁有1個微EC2實例,證明有效,而我們的網站流量較少。現在,當我們獲得更多流量時,我們的網站變慢了。多個微型與一個大型EC2實例

我們似乎無法解決爭論。 這將是更好的:

  1. 添加多個附加微/小實例,並讓它們管理或者通過nginx的或亞馬遜雲計算

OR

  • 將我們的微型實例升級爲大型/大型實例。
  • 考慮到服務器要執行的任務很簡單,考慮到ram的總量和處理能力是相似的,這樣會更有效。 1大,還是很多小?

    感謝

    回答

    3

    很難說 -

    選項#2將是最容易做的,把你的服務器關閉,調整它,打開它只是通過支付更多的錢獲得更多的能力。容易做到,但也許不是最好的長期解決方案。當交通持續增加時(不斷或在特定時間),你會做什麼?只需要挑選一個更大的箱子就不會有更多收益?

    選項#1將會有更多的工作,但最終可能是更好的策略。

    首先,您沒有說明您是否需要更高的吞吐量,或者如果是需要容量的日/周/月/年的某些時間 - 如果是這種情況,具有自動調整組的多個EC2實例可根據需要設置以響應增加和減少需求,方法是根據需要打開其他實例,然後在需求減少時將其關閉,這是一種具有成本效益的選項。另外,運行多個實例 - 最好在不同的可用區域中運行 - 爲您提供容錯功能 - 當#1的大實例關閉時,您的網站停止運行 - 如果有許多小實例在2或3個運行如果有一個或多個實例出現故障,並且即使AWS可用區域脫機(很少,但卻發生),您仍然可以繼續運行。

    除上述選項外,在不瞭解應用程序的任何信息的情況下 - 您可以執行其他操作 - 將一些靜態資產移動到S3和/或使用AWS cloudfront(或其他CDN)卸載一些工作 - 這通常是便宜和簡單的方式從現有的盒子中獲得更多。

    +0

    這真的很有道理!非常感謝! –

    +0

    不要忘記實例之間的網絡差異。 t2實例降低了網絡性能,而更大的實例類型具有更高的網絡性能。無論您現在選擇哪種選項,您都應該將其設計爲輕鬆支持將來的水平縮放。 – jbird