YSlow Empfehlungen. Wie notwendig sind sie?

8

Also habe ich gerade yslow für firebug heruntergeladen und habe mir die Ergebnisse einer Seite angesehen, die ich gerade erstelle.

Ich sehe Empfehlungen, zum Beispiel ETags, eine Cookie-freie Domain für meine statischen Komponenten zu verwenden und Verfalls-Header hinzuzufügen.

Ich denke, nun, ich könnte loslegen und diese beheben, aber es gibt wahrscheinlich eine Reihe anderer Optimierungen, die ich zuerst machen könnte, z. B. das Zwischenspeichern von Ergebnissen aus Datenbankaufrufen oder etwas Ähnliches.

Ich denke nicht, dass diese Seite so viel Nutzen bringen wird, um YSlows Empfehlungen zu rechtfertigen.

Ich weiß, dass Sie nie optimieren sollten, bevor Sie wissen, dass Sie müssen, aber ich denke Dinge wie ETags und Verfallsheader kommen nur auf Seiten mit wirklich starkem Traffic ins Spiel.

Wenn ich zum Beispiel eine schlechte Implementierung geschrieben habe, die pro Anfrage 5 (relativ kleine) Aufrufe an die Datenbank macht, und YSlow mir sagt, dass meine 14 Bilder nicht auf einer Cookie-freien Domain sind, dann welche von denen zwei Optimierungen sollten zuerst in Angriff genommen werden?

    
Dave Archer 17.07.2009, 09:43
quelle

7 Antworten

4

YSlow ist gut, um die "User Experience" zu überprüfen, die die Benutzer sehen. Seine Empfehlungen sollen dazu beitragen, dass die Seite erscheint um schneller geladen zu werden. Z.B. 14 Bilder zu 1 Bild und Spritzer ist eine rein visuelle Sache. Die Regel ist, weil Browser nur ein paar Bilder gleichzeitig herunterladen können.

Ich würde immer zuerst Backend-Optimierungen angehen, da sie Ihnen helfen können, Ihre Site skalierbar zu machen, wenn sie jemals so groß wird.

    
AutomatedTester 17.07.2009, 10:07
quelle
5

In keinem YSlow unser .htaccess Guru. Aber ich habe kürzlich eine Joomla-Website erstellt und YSlow verwendet, um Verbesserungsmöglichkeiten zu finden. Die beiden Bereiche von YSlow, die Sie oben gefragt haben - "Add Expires-Header" und "Konfigurieren von Entity-Tags (ETags)" - adressierte ich über eine .htaccess-Datei im Stammverzeichnis meiner Domain.

Hinzufügen läuft Kopfzeilen ab

Yahoo sagt: "Webseiten werden immer komplexer mit mehr Skripten, Stylesheets, Bildern und Flash auf ihnen. Ein erstmaliger Besuch einer Seite erfordert möglicherweise mehrere HTTP-Anfragen, um alle Komponenten zu laden. Durch die Verwendung von Expires-Kopfzeilen Diese Komponenten werden im Cache gespeichert, wodurch unnötige HTTP-Anforderungen bei nachfolgenden Seitenaufrufen vermieden werden. Expires-Header werden meist mit Bildern verknüpft, sie können und sollten jedoch für alle Seitenkomponenten wie Skripts, Stylesheets und Flash verwendet werden. "

Um dies zu beheben, habe ich den folgenden Code-Block zu meiner .htaccess-Datei gefunden und hinzugefügt (Anmerkung: OPENANGLEBRACKET zu "& lt;" und CLOSEDANGLEBRACKET zu "& gt;" ändern):

%Vor%

Konfigurieren Sie Entitäts-Tags (ETags)

Yahoo sagt: "Entity Tags (ETags) sind ein Mechanismus Webserver und der Browser zu bestimmen, ob eine Komponente im Cache des Browsers mit einer auf dem Ursprungsserver übereinstimmt. Da ETags sind in der Regel mit Attributen, die sie einzigartig für ein Wenn ein bestimmter Server eine Site hostet, stimmen die Tags nicht überein, wenn ein Browser die ursprüngliche Komponente von einem Server erhält und später versucht, diese Komponente auf einem anderen Server zu validieren. "

Ich habe beschlossen, alle Etags zu entfernen, die mir eine A-Note gaben, indem ich das zu meiner .htaccess-Datei hinzufüge:

%Vor%

Diese beiden Änderungen an meiner .htaccess-Datei gaben mir A-Noten für diese beiden YSlow-Kategorien.

    
Jason Pearce 16.09.2009 13:36
quelle
4

Berichtigen Sie das, was Ihr Profiling sagt, es verursacht die meiste Verlangsamung für Seitenansichten.

Denken Sie daran, dass, was auch immer Sie beheben, dass YSlow sich beschweren wird, wird wahrscheinlich später helfen, ohne dass Sie es erneut tun müssen, während die Datenbankoptimierung eine fortwährende Aufgabe ist.

Wenn Sie also Ihre Bilder auf mehrere Domains aufteilen und sie cookielos machen, sollten Sie, wenn Sie weitere Bilder hinzufügen, diese Domains teilen (hoffentlich automatisch ) und keine weiteren Anstrengungen unternehmen.

Außerdem führen Expires-Header zu niedrigeren Anfrageniveaus auf Ihrem Server (da die Antworten zwischengespeichert werden können), wodurch die Besuche für alle beschleunigen .

    
David Gardner 17.07.2009 10:14
quelle
2

Beachten Sie, dass YSlow Ihren Back-End-Code nicht sehen kann. Daher kann er nur Empfehlungen für die Interaktion des Browsers mit Ihrer Site abgeben. Sie sollten Ihre Datenbankanrufe zuerst beheben. YSlows Empfehlungen zu mehreren Anfragen, gzip, etc. sind ziemlich solide, aber es sagt mir immer, dass ich ein Content Delivery Network verwenden soll - was für eine kleine Site keinen Sinn macht. Gib einfach nicht jede Menge Zeit / Geld für jede Empfehlung blind und fasse ein, was du weißt und YSlow nicht.

    
Draemon 17.07.2009 10:15
quelle
1

Sie sind ziemlich korrekt und optimieren innerhalb des Anwendungscodes wie

  • Langsame Datenbankabfragen optimieren
  • Caching von häufig ausgeführten Abfragen
  • Caching auf Komponentenebene häufig verwendeter Komponenten
  • Allgemeine Geschwindigkeitsoptimierungen des teuren Anwendungscodes

wird Ihnen in den meisten Fällen viel höhere Leistungssteigerungen als die YSlow-Empfehlungen bringen.

YSlow-Optimierungen werden in der Regel bei der Verbesserung der Leistung von statischen Teilen Ihrer Website angewendet, die im Allgemeinen bereits vor der Feinabstimmung besser abschneiden als die dynamischen Teile.

    
DanSingerman 17.07.2009 09:47
quelle
1

Bitte bitte verwenden Sie keine Cookies und läuft für Ihren statischen Inhalt ab.

Es hilft dir nicht nur, es hilft mir .

Ich benutze eine langsamere Internetverbindung zu Hause, 144 Kbps. Ich habe es oft ausgelastet und lade Updates oder Videodateien herunter. Dadurch steigt die Latenz auf bis zu 800 ms.

Websites, die für If-Modified-Since-Zeit-Checks sehr viele Round-Trips erfordern, laden sich sehr langsam. Sites, die Expires ordnungsgemäß verwenden, werden schnell geladen, da nur der dynamische Inhalt geladen werden muss.

    
Zan Lynx 16.09.2009 13:56
quelle
0

Der Backend-Code ist häufiger schneller als der Frontend-Code. Versuchen Sie, die Anzahl der externen Ressourcen (CSS-Hintergrundbilder, CSS-Dateien und Javascript-Dateien) auf ein Minimum zu reduzieren.

Das wäre die wichtigste Optimierung, die man imho machen kann.

    
Stojg 17.07.2009 10:01
quelle