与Firebase Hosting相比,Firebase存储速度非常慢

ro-*_*age 9 firebase firebase-hosting firebase-storage

任何人都知道为什么firebase存储与firebase托管相比会如此荒谬地缓慢?

结果

  • 是时候下载firebase hosting的图片了: 16ms
  • 是时候从firebase存储下载相同的图像了: 2.23s (2.22s is TTFB)
  • 是时候从firebase存储(亚太地区)下载相同的图像了: 1.72s (1.70s is TTFB)
  • (文件大小:22.7kb/jpeg/firebase存储已向所有人开放)

这在测试中反复重复.有没有什么办法可以将速度加快到适当的时间,或者firebase存储无法用于小文件(图像/拇指)?

比较

  • S3 North Cal - 约 500ms
  • S3亚太地区 - 大约 30ms
  • Cloudinary - 大约 20ms

额外信息:

  • 我常驻澳大利亚.
  • 完全相同的文件.总是低于100kb的图像.
  • 根据开发工具,减速总是在TTFB中.
  • 托管网址:https://.firebaseapp.com/images/thumb.jpg
  • 存储网址:https://firebasestorage.googleapis.com/v0/b/ .appspot.com/o/thumb.jpg?alt = media&token =

Żyw*_*ywy 13

我找到了解决方案.

如果您已将文件上传到存储,请访问:https://console.cloud.google.com/storage/browser?project = your_project >选择您的存储桶>选择所有有趣的文件,然后单击公开(或类似的东西 - 我我不是英国人.

要默认公开所有新上传的文件,您需要安装Google云端SDK(https://cloud.google.com/sdk/docs/),然后从命令行使用以下命令:

gsutil defacl set public-read gs://your_bucket

之后,我在这里可以获得所有当前和新图像storage.googleapis.com/my_project.appspot.com/img/image_name.jpg,下载时间肯定更短.

  • 这不是一个解决方案,因为大多数人不想公开他们的文件 (2认同)
  • firebase 上的存储规则仍然适用吗? (2认同)
  • 对于我的应用程序来说,它仍然非常慢......公开存储桶后还有其他人遇到问题吗? (2认同)

Mik*_*ald 2

托管 = 存储 + CDN,所以您实际上看到的是您访问附近的 CDN,而不是直接访问 GCS 或 S3 存储桶。Cloudinary/Imgix 也是如此。这就是为什么托管的性能比存储好得多。

解决 AWS 和 GCP 之间的 TTFB 差异如此之大的问题:不幸的是,这是 GCS 与 S3 的一个已知问题(请参阅这篇带有深入性能分析的精彩博客文章)。我知道这个团队正在努力解决这个问题,但是“在其前面放置 CDN”路线将提供更快的解决方案(前提是您不需要限制访问,或者您的 CDN 可以授权请求)。

注意:GCP 已宣布将于 2017 年推出悉尼区域(公告博客文章),这可能会对您有所帮助。