我不能说Windows实例,但是我假设它们的基本特征与Linux实例非常相似。
您对带宽使用的估计是同时下载100个视频(我不确定您是要下载文件还是流式传输视频-我将假定后者)。如果我们采用512kbps的流速率,则大约需要51Mbit / s或6.5MB / s。
EC2实例的I / O性能(包括带宽)有所不同。I / O性能分为3个级别:低,中和高。但是请记住,磁盘I / O(即来自EBS卷的磁盘)也取决于带宽。您只能真正考虑EC2网络中的带宽(因为它在Internet上是完全可变的)。
一些用于量化“低”,“中”和“高”的典型数字(不同来源的理论值引用了不同的数字,因此它们可能并不完全准确)。
高:
理论上:1Gbps = 125MB / s; 现实(来源):750Mbps = 95MB / s
中等:
理论上:250Mbps;现实(来源,p57):80Mbps = 10MB / s
低:
理论上:100Mbps;现实(根据我自己的测试):10-15Mbps = 1-2MB / s
(实际上也有一个“很高”的级别(理论上为10Gbps),但仅适用于集群计算实例)。
值得一提的是变化的程度。在较小的实例上,由于物理组件在更多虚拟机之间共享,因此性能变化更大。无论如何,你可以期望大约在+/-在你的业绩20%的变化(来源:1,2,3)。在您的情况下(根据顶部的假设/计算),您可能需要13MB / s的峰值带宽(两倍于6.5MBps,因为磁盘I / O也受网络限制)。如果要传输带宽较低的内容,则应该能够使用具有“中等” I / O性能的实例(请参见实例类型页面)),如果您的计算导致对带宽的更高要求,则您将需要一个具有“高” I / O性能的实例。简单地流传输数据不应受到CPU或内存的限制,但是维持100个并发连接可能至少需要一个中等大小的实例-并且,考虑到带宽,基于上述考虑,较大的实例将是更安全的选择)。
我建议对您启动的服务器进行基准测试,以查看它们是否满足您(计算的)需求。启动两个实例(相同类型),并iperf
使用实例的私有IP地址在每个实例上运行-如果使用默认设置运行,则需要在安全组中打开端口5001)。此外,EC2网络外部的大多数测试显示的结果在80-130Mbps(大型实例)之间-尽管这样的数字不一定有意义。
如果您的安装允许,CDN会更适合您的需求。S3似乎有大约50MB的限制/ s的带宽(至少从单一实例),按照这篇文章,但比你应该要求的要高(S3不支持流)。Cloudfront将更适合您的任务(因为它被设计为CDN),并且默认情况下(源)支持1000Mbps = 125MB / s(可根据要求提供更高的带宽,并且还可以流式传输内容)