好主意使用S3托管将在国际上下载的数据?

时间:2017-01-09 00:20:47

标签: amazon-s3

我没有任何关于服务器托管性能的经验以及它有多慢,所以我想问这个问题。

我的情况是,我想托管一个~1MB的数据文件,偶尔需要客户下载(每2-3天一次)。当然,我希望尽可能降低成本,只要它不会对用户体验造成太大影响。我有数据表明我在全球拥有客户。

我想问一下,从世界其他地方下载这样大小的文件需要花费多少时间(数据在美国托管)。有没有人知道,例如,从日本等地点下载1MB文件需要多长时间?

如果人们想知道,如果在世界上大部分地区下载不到10秒,我个人会认为没问题。

2 个答案:

答案 0 :(得分:2)

当你不知道某件事情有多好时,首先要做的就是尝试。在所有区域中创建存储桶,存储文件,然后下载并查看。

全球内容分发的以AWS为中心的官方答案是将CloudFront分配连接到S3存储桶,并进行设置,以便通过 CloudFront从S3 下载您的内容。当用户远离存储桶时,这将更倾向于提高下载速度,即使内容未在CloudFront边缘缓存,因为下载必须经过的大部分距离,它将在AWS上传播" Edge Network,"一个将CloudFront连接到AWS区域的全球网络,在这里和任何地方之间的未知数都比互联网更少。

我有一个全球客户群,但是 - 例如 - 我的购物页面'目录图像存储在俄勒冈州的S3(us-west-2)中,但链接指向CloudFront。

有趣的是,同时使用这两种服务的定价有时比仅使用S3便宜一点。对此的可能解释是边缘网络出口流量代表AWS的较低成本并且相应地设置费率。这不是一个主要的区别,但一旦你理解了定价表,你就会看到它。

答案 1 :(得分:1)

10s内1MB等于800kbps。如果任何有信誉的托管服务提供商无法跟上交付速度,我会感到非常惊讶。查看Akamai rankings (2015) *,在日本(如您的示例中),平均用户的速度为15Mbps:您的文件将在0.53秒内下载。

(*看看排名,请记住,在快速互联网基础设施尚未普及的国家,“平均速度”将是快速公司管道和其他高级链接的平均值,具有实际主流速度大大降低的用户。)

然后在大多数情况下,这将取决于用户的连接速度,以及他们的ISP的国际链接,这可能比他们的国家或地区管道慢得多。在互联网基础设施欠发达的国家,运营商正在削减成本和角落,情况更是如此。

在决定是否需要部署S3或其他CDN解决方案时,或者根本不需要额外的解决方案时,您必须从映射用户人口统计信息开始。如果来自遥远国家的大部分网络基础薄弱,那么这是有意义的。否则,即使没有特殊的交付方式,您的1MB / 10s目标速度似乎也不会匹配。

如果你有来自国家/地区的某些实质流量,那么你认为流量可能会更慢,如果你想消除额外的费用,我想象一下,即使在蓝色的月亮中它们的速度波动需要15-20秒,你的用户也能活下来。 (这是基于意见的相对于你的用户是多么挑剔!)在这种情况下,如果我想提高全面的速度,我只会烦扰CDN,例如:对于所有静态资源请求,而不是每隔几天请求一个文件。将为一般用户体验做出更实质性的贡献。