2017-05-08 3 views
2

Wer weiß, warum Firebase-Speicher im Vergleich zu Firebase-Hosting so lächerlich langsam wäre?Firebase Storage sehr langsam im Vergleich zu Firebase Hosting

Ergebnisse

  • Zeit Bild von Firebase Hosting zum Download: 2.23s (2.22s is TTFB)
  • Zeit zum Download gleiche Bild von Feuerbasis Lagerung (Asia Pacific Region: 16ms
  • Zeit sein Bild von einer Feuerbasis Lagerung zum Download): 1.72s (1.70s is TTFB)
  • (Dateigröße: 22.7kb/jpeg/firebase Speicher hat für alle offen gelesen)

Dies wird in Tests immer wieder wiederholt. Gibt es eine Möglichkeit, dies zu beschleunigen, oder ist der Firebase-Speicher für kleine Dateien (Images/Thumbs) unbrauchbar?

Für Vergleich

  • S3 Nord Cal - etwa 500ms
  • S3 Asia Pacific - Ungefähr 30ms
  • Cloudinary - Ungefähr 20ms

Zusätzliche Informationen:

  • Ich bin in Australien basiert.
  • Genau die gleichen Dateien. Immer Bilder unter 100kb.
  • Die Verlangsamung ist immer in der TTFB nach Dev-Tools.
  • Hosting URL: https: //.firebaseapp.com/images/thumb.jpg
  • Speicher URL: https://firebasestorage.googleapis.com/v0/b/ .appspot.com/o/thumb.jpg alt = Medien & token =
+0

Also gibt es derzeit keine Option, Firebase-Speicher für Fotos mit vernünftiger Download-Zeit zu verwenden? Es ist etwa 10 Mal langsamer als das Foto von meinem FTP-Server (10 $ pro Jahr). Es ist schwer zu glauben, dass so ein großer Dienst wie die Firebase dieses Problem hat. Ich habe festgestellt, dass hier https://console.cloud.google.com/storage/browser/ Ich kann jedes Foto so einstellen, dass es einen öffentlichen Link hat, und dann wird das Foto von diesem öffentlichen Link blitzschnell (ca. 50ms). Jetzt stellt sich die Frage: Gibt es eine Möglichkeit, jedes hochgeladene Foto öffentlich zu machen? –

Antwort

2

Hosting = Storage + CDN, also, was Sie sehen, ist, dass Sie ein CDN in Ihrer Nähe treffen, anstatt direkt zum GCS oder S3-Bucket zu gehen. Gleiches gilt für Cloudinary/Imgix. Aus diesem Grund ist die Leistung für Hosting so viel besser als für Storage.

Das Problem anzugehen, dass TTFB so unterschiedlich zwischen AWS und GCP ist: leider ist dies ein bekanntes Problem von GCS vs S3 (siehe this great blog post mit Tiefenanalyse). Ich weiß, dass dieses Team daran arbeitet, dieses Problem anzugehen, aber die Route "Stick ein CDN vor sich" bietet eine schnellere Lösung (vorausgesetzt, Sie müssen den Zugriff nicht einschränken, oder Ihr CDN kann Anfragen autorisieren).

Hinweis: GCP hat eine Region in Sydney (announcement blog post) angekündigt, die 2017 eingeführt werden soll und Ihnen helfen könnte.

+0

Danke Mike. Ich landete schnell vor meinem Speichereimer. Wäre toll, ein CDN/Fastly als kostenpflichtiges Addon zu haben, um den Ärger zu sparen! –

4

Ich fand die Lösung.

Wenn Sie Ihre Dateien bereits in den Speicher hochgeladen haben, gehen Sie zu: https://console.cloud.google.com/storage/browser?project=your_project> Wählen Sie Ihren Eimer> Wählen Sie alle interessanten Dateien und klicken Sie auf Öffentlich machen (oder etwas ähnliches - ich bin nicht Englisch native).

Um alle neuen hochgeladenen Dateien Öffentlichkeit haben Sie standardmäßig müssen Google Cloud SDK (https://cloud.google.com/sdk/docs/) und von der Befehlszeile verwenden Sie den folgenden Befehl für die Eimer installieren:

gsutil defacl set public-read gs://your_bucket

Danach alle meine aktuellen und neue Bilder sind hier verfügbar storage.googleapis.com/my_project.appspot.com/img/image_name.jpg und Downloadzeit ist definitiv kürzer.

+0

Danke, dass du mir diesen Hinweis gegeben hast! –