目前我正在构建一个基于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. AWS Android聊天应用程序
- 3. 如何测试聊天在Quickblox聊天应用程序适用于iOS
- 4. 适用于简单聊天应用程序的设计模式
- 5. 适用于iOS聊天应用程序的openfire服务器
- 6. 适用于Android的Websockets聊天应用程序
- 7. XHR不适合聊天应用程序?
- 8. 什么gmail用于聊天应用程序
- 9. AWS MongoDB EC2实例作为本地主机与EC2应用程序实例
- 10. EC2上的实例类型Amazon AWS
- 11. signalR仅适用于聊天应用程序网站吗?
- 12. 适用于iOS聊天应用程序的XMPP推送通知
- 13. 适用于iPhone应用程序的聊天API
- 14. 基于Web的聊天应用程序
- 15. 角度滚动胶水不适用于聊天应用程序
- 16. xmpp是否适用于聊天室应用程序(不是Messenger)?
- 17. 聊天应用程序 - 哪种技术更适合在Android中实现聊天应用程序
- 18. AWS ElasticBeanstalk Rails应用程序上的EC2 rake实例
- 19. 在应用程序中实现聊天?
- 20. 哪种AWS EC2实例类型最适合音频流?
- 21. Android聊天应用程序
- 22. P2p在Android的聊天应用程序
- 23. 在AWS EC2实例中运行fuel php应用程序
- 24. 适用于测试版低使用率应用程序的AWS-T2实例
- 25. JavaFX聊天应用程序
- 26. ASP.NET聊天应用程序
- 27. 聊天应用程序的服务器端应该是什么?
- 28. 什么是构建聊天应用程序的理想方法?
- 29. 使用Pubnub的聊天应用程序
- 30. GWT应用程序中的XMPP聊天