2017-10-07 53 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白皮书。

相关问题