2017-05-08 80 views
2

任何人都知道爲什麼firebase存儲與firebase託管相比會變得如此荒謬緩慢?Firebase存儲與Firebase託管相比非常緩慢

結果

  • 時間下載火力託管的形象:16ms
  • 時間從火力存儲下載相同的圖像:2.23s (2.22s is TTFB)
  • 時間從火力存儲下載相同的圖像(亞太地區):1.72s (1.70s is TTFB)
  • (文件大小:22.7kb/jpeg/firebase存儲已經對所有人開放)

這在測試中反覆重複。有沒有什麼辦法可以讓這個速度加快到一個比較合適的時間,或者是對於小文件(圖像/大拇指)來說Firebase存儲是不可用的?

對於比較

  • S3北加州 - 約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 =媒體&令牌=
+0

因此,目前真的沒有選擇使用firebase存儲照片合理的下載時間?它比從我的ftp服務器獲取照片慢10倍左右(每年10美元)。很難相信像Firebase這樣的大型服務存在這樣的問題。我發現在這裏https://console.cloud.google.com/storage/browser/我可以將每張照片設置爲公共鏈接,然後從該公共鏈接獲取照片的速度非常快(大約50ms)。所以現在的問題是:有沒有辦法讓每張上傳的照片都公開? –

回答

2

Hosting = Storage + CDN,所以你看到的是你打到你附近的CDN,而不是直接進入GCS或S3存儲桶。 Cloudinary/Imgix也是如此。這就是爲什麼託管性能比存儲更好的原因。

解決AWS和GCP之間TTFB問題如此不同的問題:不幸的是,這是一個已知的GCS vs S3問題(請參見this great blog post(附帶深度性能分析))。我知道這個團隊正在努力解決這個問題,但是「將CDN放在它前面」路線將提供更快的解決方案(前提是您不需要限制訪問,或者您的CDN可以授權請求)。

注意:GCP已宣佈將於2017年推出的悉尼地區(announcement blog post),這可能對您有所幫助。

+0

謝謝邁克。我結束了快速放在我的存儲桶前。 將CDN/Fastly作爲付費插件以節省麻煩真是太棒了! –

4

我找到了解決方案。

如果你有你的文件已經上傳到存儲去:https://console.cloud.google.com/storage/browser?project=your_project>挑你的桶>選擇所有有趣的文件,然後單擊公開(或類似的東西 - 我不是英國本地人)。

要在默認情況下,您需要安裝谷歌雲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 下載時間明顯縮短。

+0

感謝您給我這個提示! –