如何加速亚马逊云端的图像加载

时间:2013-08-23 07:35:07

标签: ios amazon-web-services amazon-s3 amazon-cloudfront

我们正在开发一个iPhone应用程序,它使用云端显示来自亚马逊S3的图像尽管cloudfront提高了图像的下载速度,但如果我们与没有CDN的另一台Linux服务器进行比较,那么触摸速度会慢一些。因此,我们想知道如何进一步改进iPhone应用程序的图像加载。

请告诉我们

2 个答案:

答案 0 :(得分:1)

您尚未解释如何测试这两种环境以及速度差异的大小。

请记住,要真正评估CDN的性能,您必须从全球多个点进行测试,而不是从一个位置进行测试。此外,在谈论图像的加载性能不足以测量实际传输速率(下载速度),还有连接延迟和DNS解析时间。

通常,为了在下载图片时获得最佳效果,您需要确保正确处理四件事: dns 缓存持久连接并行下载

  • 减少DNS解析时间,确保优化DNS规则并使用快速DNS服务(例如,有太多CNAME解析可能会降低dns的速度。)

  • 利用CDN的全部功能,您的缓存规则应具有非常高的到期时间(使用Cache-ControlExpires标头)。

  • 如果从任何服务器下载多个图像,最好使用支持持久连接的客户端(支持Keep-Alive)。这样,如果您重复使用相同的连接,则不会浪费时间重新建立新连接。

  • 最好是并行下载多个图像,而不是使用顺序下载。 Web浏览器通常每个服务器最多可以打开6个连接,但您可以略高于此。不要夸大这个数字,因为它会损害表现。

答案 1 :(得分:0)

我在 React Native for ios 上遇到了类似的问题。我发现我最后有一个逗号。确保末尾没有逗号。当我删除逗号时,它的速度提高了 100 倍。

                uri: `https://d24xeym8d51bhs.cloudfront.net/${globalCurrentCustomer.username}`,
              }}
              />

我去掉了上面的逗号,然后它加快了速度。