Umfrageergebnisse: Große Datei auf wichtigem CDN oder kleine Datei lokal

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Diese Umfrage hat mir ziemlich gut gefallen, da die Ergebnisse so knapp waren. Erst in der letzten Woche hat sich ein klarer Gewinner herauskristallisiert.

Local wins with 55%

Wie bei allen Umfragen, die jemals auf dieser Website durchgeführt wurden, gibt es viele Dinge zu bedenken, und die Umfrage war wahrscheinlich zu einfach für ihr eigenes Wohl. Nichtsdestotrotz betrachte ich es als Erfolg, die Leute überhaupt zum Nachdenken über dieses Thema anzuregen. Ganz oberflächlich betrachtet: 20 KB sind kleiner, aber das CDN ist schneller und wird wahrscheinlich eher gecached.

Es steckt jedoch noch viel mehr dahinter…

  • Das CDN ist wahrscheinlich eine andere Domain, sodass selbst wenn ein Benutzer die Datei laden muss, dies nicht gegen die maximale Anzahl gleichzeitiger Verbindungen für eine einzelne Domain zählt.
  • Das Laden von JS ist eine Sache, die Ausführung von JS eine andere. Die Ausführung von 200 KB JS wird immer langsamer sein als die von 20 KB.
  • Da_n erinnert uns daran, dass sie sich nicht gegenseitig ausschließen. Sie könnten versuchen, vom CDN zu laden und auf lokal zurückzufallen.
  • Evert erinnert uns daran, dass einige IP-Adressen/Bereiche in einigen Ländern blockiert sein können, sodass je mehr unterschiedliche wir von ihnen beziehen, desto höher die Wahrscheinlichkeit ist, dass einige Ressourcen blockiert werden und Probleme beim Laden der Seite verursachen.
  • Im Fall des Google CDN (das beliebteste für diese Art von Dingen) ist das Caching nur dann vorhanden, wenn Sie auf eine sehr spezifische Version einer Bibliothek verweisen, z. B. 1.8.14. Wenn Sie weniger spezifisch verlinken (z. B. 1.8 gibt Ihnen die neueste Version, die 1.8.something ist), wird sie nicht gecached (oder nicht sehr lange).
  • CDN spart Bandbreite, und diese Kosten können erheblich sein (z. B. hat das 100 KB große Bild-Sprite im aktuellen Design dieser Website in den letzten 30 Tagen über 50 GB Bandbreite verbraucht. Das ist eine Datei!).
  • Lokal haben Sie die Möglichkeit, die 20 KB in andere JS-Dateien zusammenzuführen und eine einzelne Ressource anstelle von vielen zu laden.
  • Paul Irish sagt, wir sollten A/B-Tests für Geschwindigkeit durchführen und die schnellste wählen.
  • Mobil ist eine sehr wichtige Überlegung. Mobile Browser haben weitaus weniger Platz für Caching und (manchmal) weniger Bandbreite.
  • Kent Davidson erinnert uns daran, dass, wenn wir uns über die Privatsphäre sehr Sorgen machen, das CDN ausfallen könnte, da es jedem, der die Datei anfordert, Referrer-Strings an das CDN weitergibt.
  • Das Hosten dieser kleinen benutzerdefinierten Datei auf Ihrem eigenen CDN hat große Vorteile. Sie hat vielleicht keine Chance, beim Eingang gecached zu werden, aber sie hat die anderen Vorteile.

Ein weiterer guter Punkt wurde in den Kommentaren von Jayphen angesprochen.

Beiträge wie dieser machen mir Sorgen über die Art von Fehlinformationen, die durch solche Umfragen verbreitet werden…

Wenn die Mehrheit der anderen Entwickler das Falsche tut, macht das es nicht richtig.

Nur weil "lokal" diese Umfrage gewonnen hat, heißt das nicht, dass es immer die richtige Antwort ist (siehe Überlegungen oben).

Bald eine neue Umfrage. Wenn Sie eine Idee für eine Umfrage auf CSS-Tricks haben, hinterlassen Sie sie als Kommentar unten. Ich möchte die Reserven an Umfrageideen auffüllen.