Because Speed Matters - Peformance-Thread

  • Hallo Leute,
    Ich dachte wir können hier mal einen Diskussions-Thread starten über Performance. Das ganze ist natürlich Themenübergreifend über Server, PHP, Dateigröße, ...
    Wir können uns unterhalten über die optimalen Browser-Caching-Verfahren (Expires/max-age)/(last-modified/etag), Dateigröße minimieren, komprimierte Übertragung, ...


    Wichtige Ressourcen sind unter anderem:


    Meine bisherigen wichtigsten Erfahrungen sind:

    • Serverseitige Komprimierung --> Eintrag in .htaccess mit Ouput-Filter für DEFLATE oder GZIP
    • statische Dateien komprimieren, also Kommentare entfernen, (doppelte)Leerzeichen, Zeilenumbrüche, ...
    • Browser-Caching


    Das "Problem" ist, dass man da so viele Konfigurationsmöglichkeiten hat, dass man kaum weiß, was denn nun optimal ist.


    Meine derzeitige .htaccess auf dem Server; auf das wesentliche gekürzt:


    Kennt jemand von euch die .htaccess von initializr? Die Jungs und Mädels dort scheinen echt Ahnung zu haben, aber in ihrer htaccess (http://www.initializr.com/builder?print&h5bp-htaccess -08-06-2014 15:00 Uhr) verwenden sie "nur" DEFLATE anstatt GZIP. ?(



    Was hat ihr für Tipps, Meinungen, Erfahrungen, ... zu Komprimierung? (vor allem Serverseitig)


    PS: wäre cool, wenn wir das Thema hier so aufbohren, wie damals PHP5-Hashing

  • Wenn es darum geht, kann ich für die "manuelle" Optimierung nur das ANT Build Script empfehlen: GitHub ANT


    Hier mal eine (grobe) Übersetzung der Features:

    Zitat
    • Kombiniert und minimiert JavaScript (via Closure Compiler)
    • Fügt via @import spezifizierte CSS in die aktuelle Datei ein
    • Kombiniert und miniert CSS (via YUI Compressor)
    • Optimiert JPGs und PNGs (mit jpegtran, advpng & optipng)
    • Grundlegende bis aggressive HTML Komprimierung (via htmlcompressor)
    • Überarbeitet die Dateinamen der Anlagen, so dass "heavy caching" genutzt werden kann (1 year expires).
    • Aktualisiert die HTML, damit auf die neuen, optimierten CSS & JS zu verweisen
    • Aktualisiert die HTML, um auf die minifizierte jQuery, anstatt der Developerversion, zu verweisen
    • Entfernt unnötige Verweise aus der HTML (zB root folder Favicons)
    • (Optional) Überprüft das JS mit einem Qualitätstool, wie JSLint oder JSHint
    • (Optional) Überprüft das CSS mit einem Qualitätstool, CSSLint
    • Cache-busting support for a module directory (wie übersetzt man das am Blödsten?)
    • (Optional) Vorkompilieren von LESS CSS Dateien
    • (Optional) Vorkompilieren von SASS CSS dateien
    • (Optional) Erstellt eine JSDOC3 Dokumentation
    • (Optional) Konvertiert JPGs zu progressive JPGs
    • (Optional) Validiert das HTML
    • (Optional) Markiert Skripte als "async" oder "defer"


    Ansonsten, zur Serveroptimierung, wie schon erwähnt, die .htaccess von initializr.com. Sehr schön (auf englisch) auskommentiert, wodurch man als Nutzer gut nachvollziehen kann, was geboten wird, und dementsprechend auch selbst nachjustierbar.
    Und sonst ist bestimmt noch der HTML 5 AppCache für statischen Inhalt sehr interessant.