我们正在开发一个iPhone应用程序,它使用云端显示来自亚马逊S3的图像尽管cloudfront提高了图像的下载速度,但如果我们与没有CDN的另一台Linux服务器进行比较,那么触摸速度会慢一些。因此,我们想知道如何进一步改进iPhone应用程序的图像加载。
请告诉我们
答案 0 :(得分:1)
您尚未解释如何测试这两种环境以及速度差异的大小。
请记住,要真正评估CDN的性能,您必须从全球多个点进行测试,而不是从一个位置进行测试。此外,在谈论图像的加载性能不足以测量实际传输速率(下载速度),还有连接延迟和DNS解析时间。
通常,为了在下载图片时获得最佳效果,您需要确保正确处理四件事: dns ,缓存,持久连接和并行下载。
减少DNS解析时间,确保优化DNS规则并使用快速DNS服务(例如,有太多CNAME解析可能会降低dns的速度。)
利用CDN的全部功能,您的缓存规则应具有非常高的到期时间(使用Cache-Control
或Expires
标头)。
如果从任何服务器下载多个图像,最好使用支持持久连接的客户端(支持Keep-Alive)。这样,如果您重复使用相同的连接,则不会浪费时间重新建立新连接。
最好是并行下载多个图像,而不是使用顺序下载。 Web浏览器通常每个服务器最多可以打开6个连接,但您可以略高于此。不要夸大这个数字,因为它会损害表现。
答案 1 :(得分:0)
我在 React Native for ios 上遇到了类似的问题。我发现我最后有一个逗号。确保末尾没有逗号。当我删除逗号时,它的速度提高了 100 倍。
uri: `https://d24xeym8d51bhs.cloudfront.net/${globalCurrentCustomer.username}`,
}}
/>
我去掉了上面的逗号,然后它加快了速度。