目前我正在構建一個基於NodeJs的聊天應用程序 所以我考慮選擇哪一個是我們服務器的最佳實例類型? 因爲AWS有很多的選擇:通用,計算優化,內存優化.... 能否請您給我指教:(什麼適用於聊天應用程序的AWS EC2實例類型?
回答
您可以參閱 - 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利用率。
的其他問題,如果你需要通過相關的安全限制,一些認證...
我會建議開始與T2.micro Linux實例。觀察CloudWatch中的CPU使用情況。一旦CPU使用率開始超過50%到75%,或空閒內存變低,或者磁盤I/O變得飽和,請切換到下一個較大的實例。
T2.micro Linux實例(大部分)是免費的。閱讀細則。 T2.micro實例可以爆發,這意味着您可以從小實例中獲得良好的性能。
除非您的聊天應用程序擁有龐大的客戶/交易基礎,否則您(可能)不需要其他實例類型。
由於您不太確定從哪裏開始,因此我建議您從M類別(M3或M4)生產的通用EC2實例開始。您可以從較小的實例類型(如m3.medium)開始。
注意:如果它的流量較低的內部聊天應用程序,您甚至可以考慮使用T系列EC2實例。
這裏的重要部分不是試圖預測容量需求。相反,您可以從通用EC2實例開始小型化,然後查看EC2實例的資源消耗情況,您可以進行適當的容量規劃。由於您既可以橫向擴展實例,也可以縱向擴展實例,因此在選擇EC2實例的縮放單元之前,還需要考慮成本和及時加載要求來交換實例類型。
一個我下面的辦法如下:
- 開始與通用實例(除非我有信心,有特殊需要,如網絡,IO &等。)
- 通過更改用戶數量並找出限制(單個EC2實例可以處理的用戶數量),對應用程序執行負載測試(對於單個EC2實例無自動縮放)。
- 經過分析內存,IO的利用率,你也可以考慮轉移到不同的EC2類別或堅持使用相同的類型。 (可以說CPU達到了極限,但內存幾乎不用,你可以考慮使用C系列實例)。
- 通過移動到下一個大小(例如,m3.medium到m3.large)垂直縮放EC2實例並執行負載測試以找出其限制。
- 重複步驟3和4後,您可以在成本和績效之間找到最佳平衡點。
- 讓我們3種實例類型與成本爲X選定最低(由於在一個單元增加EC2大小,使成本加倍)
- m3.medium - 可以服務100個用戶,成本X
- m3.large - 可以服務220個用戶,費用2X
- m3.xlarge - 可以服務300個用戶。成本3X
- 它是一個簡單的選擇,選擇m3.large作爲EC2實例大小,因爲它可以服務110 X成本。
- 但是,對於某些需要基於平均預期負載來確定實例類型的應用程序而言,它並不直接。
- 讓我們3種實例類型與成本爲X選定最低(由於在一個單元增加EC2大小,使成本加倍)
- 設置自動縮放和負載均衡以水平縮放EC2實例以處理高於平均值的負載。
有關更多詳細信息,請參閱Architecting for the Cloud: Best Practices白皮書。
- 1. PhpMyadmin不適用於AWS EC2實例
- 2. 如何測試聊天在Quickblox聊天應用程序適用於iOS
- 3. AWS Android聊天應用程序
- 4. 適用於簡單聊天應用程序的設計模式
- 5. 適用於iOS聊天應用程序的openfire服務器
- 6. 什麼gmail用於聊天應用程序
- 7. AWS MongoDB EC2實例作爲本地主機與EC2應用程序實例
- 8. EC2上的實例類型Amazon AWS
- 9. 基於Web的聊天應用程序
- 10. xmpp是否適用於聊天室應用程序(不是Messenger)?
- 11. 角度滾動膠水不適用於聊天應用程序
- 12. AWS ElasticBeanstalk Rails應用程序上的EC2 rake實例
- 13. 在應用程序中實現聊天?
- 14. P2p在Android的聊天應用程序
- 15. ASP.NET聊天應用程序
- 16. 什麼是構建聊天應用程序的理想方法?
- 17. 使用Pubnub的聊天應用程序
- 18. AWS WAF + EC2實例
- 19. 聊天應用程序。 Django的
- 20. 簡單的iPhone聊天應用程序
- 21. 什麼AWS IAM策略可用於向用戶限制實例類型
- 22. 在java中聊天應用程序?
- 23. appengine上的聊天應用程序
- 24. 聊天應用程序:pubsubhubbub vs xmpp
- 25. AWS EC2不顯示實例使用情況報告。爲什麼?
- 26. EC2上的Python Flask應用程序AWS
- 27. Android聊天應用程序笑臉
- 28. 用於聊天應用程序的意圖
- 29. 「頻道」是什麼意思在Facebook聊天應用程序?
- 30. Java單線程聊天應用程序