ios - 如何加快亚马逊云前端的图像加载速度

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

我们正在开发一个 iPhone 应用程序,该应用程序使用 cloudfront 显示来自 amazon S3 的图像。尽管 cloudfront 提高了图像的下载速度,但如果我们与另一个没有 CDN 的 Linux 服务器相比,它的速度还是慢了一点。因此我们想知道如何进一步改进 iPhone 应用程序的图像加载。

请告诉我们

最佳答案

您还没有解释如何测试这两个环境以及速度差异是什么。

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

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

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

  • 要利用 CDN 的全部功能,您的缓存规则应该具有非常长的到期时间(使用 Cache-ControlExpires header ) .

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

  • 最好并行下载多个图像,而不是使用顺序下载。 Web 浏览器通常为每台服务器打开最多 6 个连接,但您可以稍微高于此数量。但不要夸大该数字,因为这会影响性能。

关于ios - 如何加快亚马逊云前端的图像加载速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18397319/

相关文章:

ios - refreshControl 中的完成处理程序有 EXC_BAD_ACCESS 错误

iphone - UITableViewCell 中的 UITextField 自动调整大小

amazon-web-services - 无法通过 aws Pinpoint 直接发送电子邮件

python - JupyterHub 内核连接返回 HTTP504 GATEWAY_TIMEOUT

node.js - 从我的 Node 服务器上的 AWS S3 获取签名 URL

ios - 通过分段条在 View 之间传递数据

ios - 如何在 Swift 4 中连接 Socket

amazon-web-services - 如何使用类似于 beanstalkd 的 cli 将 Redis 作为队列引擎进行监控?

scala - 由 spark 编写的 Parquet 文件中的 Athena/Hive 时间戳

ruby-on-rails-3 - 过渡/指纹现有回形针文件以使用 MD5 校验和