Firebase-Speicher langsam, wenn öffentliche Bilder geliefert werden

Ich verwende Firebase-Speicher zum Hochladen von Avataren (original.jpg). In einem node.js-Hintergrundprozess habe ich die Größe mit gm geändert und sie dann wieder in meinen Firebase-Eimer gestellt. Diese Bilder sind öffentlich lesbar, siehe meine Speicherregeln:

service firebase.storage {
  match /b/xxx.appspot.com/o {
    match /images {
      match /{allImages=**} {
        allow read;
      }
      match /{userId}/avatar/original.jpg {
        allow write: if request.auth.uid == userId;
      }
    }
  }
}

Ich speichere die URL von Bildern in der Firebase-Datenbank, zB:

https://firebasestorage.googleapis.com/v0/b/xxx.appspot.com/o/images%2Fyyy%2Favatar%2Fzzz-small.jpg?alt=media

Das habe ich direkt nach dem Hochladen der Datei abgerufen (Web SDK)var downloadURL = uploadTask.snapshot.downloadURL;; Der Token-Parameter wurde entfernt, da er öffentlich sein wird. und wo zzz-small.jpg original.jpg ersetzt hat.

Es funktioniert, Bilder werden angezeigt.

Aber es ist langsam, obwohl das Bild ein 40x40px-JPG ist. Und es hängt eine Weile, bevor die Datei tatsächlich heruntergeladen wird. Siehe Chrome-Netzwerk-Datensatz:

Chrome network record

Die Datei ist 158B groß, vor dem Download warten ~ 1s ~ 3ms ...

Ist der Firebase-Speicher so schnell wie ein CDN? Gibt es eine schnellere Möglichkeit, eine öffentlich lesbare Datei aufzurufen?

[BEARBEITEN] Ich habe Feedback vom Firebase-Support erhalten:

Wir sind uns definitiv bewusst, dass viele Benutzer, wie Sie, Probleme mit dem langsamen Herunterladen von Dateien aus Europa haben. Wir suchen nach möglichen Lösungen, aber ich kann derzeit keine Details oder Zeitpläne mitteilen. Wir werden Ihr Feedback jedoch weiterhin berücksichtigen.

Achten Sie auf unsere Versionshinweise, um weitere Aktualisierungen zu erhalten.

ch habe vergessen zu erwähnen, dass ich in Europa bin und die Lagerung in den US

Antworten auf die Frage(0)

Ihre Antwort auf die Frage