2017-10-07 98 views

回答

3

您可以參閱 - https://aws.amazon.com/blogs/aws/choosing-the-right-ec2-instance-type-for-your-application/

其實也沒關係什麼託管您選擇-AWS,MS Azure中,谷歌計算引擎等..

如果你想獲得儘可能多的從您的服務器和基礎設施可以,你需要解決你當前的任務。

第一所有決定在同一時間有多少活躍用戶獲得最近的3-6個月。 如果每秒會有少於1000k的活動用戶(連接) - 我認爲你可以從最小的實例類型開始。您應該檢查如何增加實例的CPU/RAM/HDD(或SSD)。 所以當你得到更多的用戶時,你將有一個計劃如何加快你的服務器。

當您獲得越來越多的用戶時,請關注您的服務器分析 - CPU/RAM/IO利用率。

的其他問題,如果你需要通過相關的安全限制,一些認證...

0

我會建議開始與T2.micro Linux實例。觀察CloudWatch中的CPU使用情況。一旦CPU使用率開始超過50%到75%,或空閒內存變低,或者磁盤I/O變得飽和,請切換到下一個較大的實例。

T2.micro Linux實例(大部分)是免費的。閱讀細則。 T2.micro實例可以爆發,這意味着您可以從小實例中獲得良好的性能。

除非您的聊天應用程序擁有龐大的客戶/交易基礎,否則您(可能)不需要其他實例類型。

1

由於您不太確定從哪裏開始,因此我建議您從M類別(M3或M4)生產的通用EC2實例開始。您可以從較小的實例類型(如m3.medium)開始。

注意:如果它的流量較低的內部聊天應用程序,您甚至可以考慮使用T系列EC2實例。

這裏的重要部分不是試圖預測容量需求。相反,您可以從通用EC2實例開始小型化,然後查看EC2實例的資源消耗情況,您可以進行適當的容量規劃。由於您既可以橫向擴展實例,也可以縱向擴展實例,因此在選擇EC2實例的縮放單元之前,還需要考慮成本和及時加載要求來交換實例類型。

一個我下面的辦法如下:

  1. 開始與通用實例(除非我有信心,有特殊需要,如網絡,IO &等。)
  2. 通過更改用戶數量並找出限制(單個EC2實例可以處理的用戶數量),對應用程序執行負載測試(對於單個EC2實例無自動縮放)。
  3. 經過分析內存,IO的利用率,你也可以考慮轉移到不同的EC2類別或堅持使用相同的類型。 (可以說CPU達到了極限,但內存幾乎不用,你可以考慮使用C系列實例)。
  4. 通過移動到下一個大小(例如,m3.medium到m3.large)垂直縮放EC2實例並執行負載測試以找出其限制。
  5. 重複步驟3和4後,您可以在成本和績效之間找到最佳平衡點。
    • 讓我們3種實例類型與成本爲X選定最低(由於在一個單元增加EC2大小,使成本加倍)
      • m3.medium - 可以服務100個用戶,成本X
      • m3.large - 可以服務220個用戶,費用2X
      • m3.xlarge - 可以服務300個用戶。成本3X
    • 它是一個簡單的選擇,選擇m3.large作爲EC2實例大小,因爲它可以服務110 X成本。
    • 但是,對於某些需要基於平均預期負載來確定實例類型的應用程序而言,它並不直接。
  6. 設置自動縮放和負載均衡以水平縮放EC2實例以處理高於平均值的負載。

有關更多詳細信息,請參閱Architecting for the Cloud: Best Practices白皮書。