Frage

Also ich habe YSlow für Firebug und haben einen Blick auf die Ergebnisse genommen für eine Seite, die ich baue.

Ich sehe Empfehlungen, zum Beispiel zu verwenden ETags, Cookie-freie Domain für meine statischen Komponenten, und füge abläuft Header.

Ich denke, auch ich gehen könnte und beheben diese, aber es ist wahrscheinlicher, eine Reihe von anderen Optimierungen ich zuerst tun könnte, beispiels Caching Ergebnisse von Datenbankaufrufe oder etwas ähnliches.

Ich glaube nicht, dass diese Website erhalten ‚so viel‘ Nutzung YSlow Empfehlungen zu rechtfertigen.

Ich weiß, dass Sie sollten nie optimieren, bevor Sie was Sie wissen müssen, aber ich denke, Dinge wie ETags und endet Header nur sicher ins Spiel kommen, auf Websites mit wirklich starken Verkehr.

Wenn zum Beispiel habe ich eine schlechte Implementierung geschrieben, die 5 (relativ kleinen) Anrufe auf die Datenbank pro Anfrage macht, und YSlow sagt mir, dass meine 14 Bilder sind nicht auf einem Cookie-freie Domain, dann die von denen, zwei Optimierungen sollen zuerst in Angriff genommen werden?

War es hilfreich?

Lösung

YSlow ist gut, die „User Experience“, die die Benutzer sehen zu überprüfen. Seine Empfehlungen sind die Seite zu helfen, erscheint schneller zu laden. Z.B. 14 Bilder auf 1 Bild und spriting ist eine rein visuelle Sache. Die Regel ist, dass Browser nur ein paar Bilder parallel zu einem beliebigen Zeitpunkt herunterladen.

Ich würde immer erste Back-End-Optimierungen angehen, wie sie Ihre Website skalierbar können Ihnen helfen, zu machen, wenn es wird immer so groß.

Andere Tipps

In keinem YSlow unseres .htaccess-Guru. Aber ich gebaut vor kurzem eine Joomla Website und verwenden YSlow Verbesserungsbereiche zu finden. Die beiden Bereiche von YSlow, die Sie oben gefragt - „Add Verfallen Header“ und „Configure Entity-Tags (ETags)“ - ich über eine .htaccess-Datei im Stammverzeichnis meiner Domain adressierte

.

Fügen Sie Expires Header

Yahoo sagt: „Web-Seiten mit mehr Skripten werden immer komplexer, Stylesheets, Bilder und Flash auf sie Ein erstmaliger Besuch einer Seite mehrere HTTP-Anfragen erfordern können alle Komponenten laden von Headern Verfällt.. diese Komponenten werden Cache gespeichert werden, die auf nachfolgende Seitenaufrufe unnötige HTTP-Anforderungen vermeidet. Verfällt Header werden am häufigsten mit Bildern verknüpft, aber sie können und sollten auf allen Seiten Komponenten einschließlich Skripte, Stylesheets und Flash. "

verwendet werden

Um dies zu adressieren, fand ich und fügte den folgenden Codeblock meine .htaccess-Datei (Anmerkung: Änderung OPENANGLEBRACKET auf „<“ und CLOSEDANGLEBRACKET zu „>“):


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section

Configure Entity-Tags (ETags)

Yahoo sagt: „Entity-Tags (ETags) sind ein Mechanismus Web-Server und der Browser verwenden, um zu bestimmen, ob eine Komponente in dem Cache des Browsers entspricht einer auf dem Ursprungsserver Da ETags typischerweise Attribute konstruiert verwenden, die sie einzigartig zu einem machen. bestimmter Server ein Website-Hosting, werden die Tags nicht übereinstimmen, 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 beschloss, alle Etags zu entfernen, das gab mir einen A Grad, durch das Hinzufügen diesen meine .htaccess-Datei:


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

Diese beiden Änderungen an meinem .htaccess-Datei gab mir eine Klasse für diese beiden YSlow Kategorien.

Fix je nachdem, welche die Profil , sagt am meisten Verlangsamung für Seitenaufrufe verursacht.

Denken Sie daran, dass alles, was Sie zu beheben, dass YSlow über beschwert wird höchstwahrscheinliche Hilfe später, ohne dass Sie es wieder zu tun haben, während Datenbank-Optimierung wird eine ständige Aufgabe sein.

dh, wenn Sie Ihre Bilder über mehrere Domänen aufgeteilt und sie cookieless machen, dann, wie Sie weitere Bilder hinzufügen, sie über diese Domänen aufgeteilt werden sollen (hoffentlich automatisch ) und Aufwand erfordern wird nicht wieder.

Auch Verfällt Header auf ein niedrigeres Niveau der Anforderungen auf dem Server führen (da die Antworten zwischengespeichert werden können), die wird die Besuche für jeden beschleunigen .

Beachten Sie, dass YSlow nicht Ihren Backend-Code sehen kann, so kann es nur stützt ihre Empfehlungen auf der Interaktion des Browsers mit Ihrer Website. Sie sollten auf jeden Fall beheben Sie zuerst die Datenbank aufruft. YSlow Empfehlungen in Bezug auf mehrere Anfragen, gzip, etc. sind ziemlich solide, aber es wird immer sagen mir, ein Content-Delivery-Netzwerk zu verwenden - die keinen Sinn für einen kleinen Ort macht. Nur nicht viel Zeit / Geld auf jeder Empfehlung blind verbringen, und Faktor in dem, was Sie wissen und YSlow nicht.

Sie sind ganz richtig, innerhalb des Anwendungscodes wie

Optimierung
  • langsame Datenbankabfragen optimieren
  • Caching von häufig ausgeführten Abfragen
  • Component Level-Caching von häufig verwendeten Komponenten
  • Allgemein Geschwindigkeit Optimierungen von teuren Anwendungscode

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

YSlow Optimierungen werden angesprochen in der Regel an die Leistung der statischen Teile Ihrer Website zu verbessern, die besser wird bereits allgemein durchführt als die dynamischen Teile, vor jedem Zwicken.

Bitte, bitte verwendet keine Cookies und Ablaufdatum für Ihre statischen Inhalte.

Es ist nicht nur Ihnen helfen, es hilft ich .

Ich verwende eine langsamere Internetverbindung zu Hause, 144 Kbps. Ich habe es oft um die Kapazität geladen wird, das Herunterladen von Updates oder Videodateien. Das macht seine Latenz bis 800 ms nach oben oder so.

Web-Sites, die eine Menge von Rundreisen für If-Modified-Since Zeitkontrollen laden sehr langsam verlangen. Seiten, die schnell Gültig bis ordnungsgemäß geladen verwenden, da nur die dynamischen Inhalte tatsächlich laden in haben.

Der Backend-Code ist oft schneller als der Frontend-Code. Versuchen Sie halten die Menge an externen Ressourcen (CSS Hintergrund Bilder, CSS-Dateien und Javascript-Dateien) auf ein Minimum reduziert.

Das wäre die wichtigste Optimierung einer imho tun können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top