AWS上的容量规划

时间:2018-09-04 06:36:13

标签: amazon-web-services amazon-ec2 capacity-planning

我需要对如何为AWS进行容量规划以及要使用哪种基础架构组件有一些了解。我以下面的示例为例。

我需要设置一个使用kafka,redis,mongodb的基于nodejs的服务器。将有250个设备连接到服务器并每10秒发送一次数据。每个数据包的大小约为10kb。我将使用64位ubuntu映像

我需要估算的

  • MongoDB需要至少3台服务器才能实现冗余。如何估算所需的VM和EBS卷的大小应该是m4.large,m4.xlarge或其他名称?默认EBS卷大小为30GB。
  • 运行其他包含3-4个nodejs,kafka和redis进程的应用程序组件的VM的大小应该是多少?例如应该是m4.large,m4.xlarge还是其他?
  • 我可以在自动扩展组中仅保留一台应用程序服务器,并随着负载的增加而增加,还是应该至少增加2

我想大体上理解,考虑到设备数量,数据包大小和数据频率,我们如何估算要考虑的VM,要考虑的存储量以及也许还有其他考虑因素

1 个答案:

答案 0 :(得分:1)

没有人可以为您回答这个问题。这完全取决于您的应用程序和使用模式。

正确回答此问题的唯一方法是部署一些基础架构并模拟标准用法,同时测量系统性能(吞吐量,延迟,磁盘访问,内存,CPU负载等)。

然后,修改基础架构(添加/删除实例,更改实例类型等)并再次进行测量。

您当然应该根据需要运行最小部署(例如,单独的实例中的实例用于高可用性),并且可以根据需要使用 Auto Scaling 添加额外的容量,但还需要进行模拟测试来确定正确的触发点,在此处应增加更多的容量。例如,最佳指示符可能是内存,CPU或延迟。这完全取决于应用程序及其在负载下的行为。