Alexander Rehbein: PHP-GZIP Output Auswertung durch Apache

Hallo,

ich habe nur eine kurze Frage bezüglich GZIP-komprimierten Outputs:

Ich bin doch richtig mit der Annahme, dass in den Apache-Log auch immer die Größe der jeweils gesendeten Seiten ist?!!

Jetzt zu meiner Frage: Wenn dem so ist, wird dort die komprimierte oder unkomprimierte Seitengröße angegeben?

Das ist wichtig für die Traffic-Auswertung durch meinen Provider, denn trotz eingeschalteter Komprimierung durch PHP ändert sich an meinem Traffic überhaupt nichts :(

Und ich habe es mit verschiedenen Rechner getestet und die HTTP-Requests ausgewertet - überall steht Encoding-Type: gzip (oder so ähnlich) -> also komprimiert.

Wenn das nur eine Fehlangabe in den Logs ist, dann kann ich nämlich über 70% Traffic einsparen (25 KB zu 5 KB komprimiert) und das ist bei rund 25 GB schon ein guter Happen :)

Vielen Dank schon im Voraus für Eure Antwort
Alex

  1. Moin Moin !

    Gegenfrage: http://schroepl.net/projekte/gzip_cnc/ gelesen?

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Gegenfrage: http://schroepl.net/projekte/gzip_cnc/ gelesen?

      Durchgelesen - aber irgendwie versteh ich jetzt nicht den Sinn.

      Also meine Seiten sind definitiv dynamisch (Sehr viele Änderungen) - also nichts mit Cachen oder so.

      Wollte eigentlich nur wissen, ob in der Apache-Log die Größe VOR oder NACH dem Komprimieren angegeben wird?!

      1. Moin Moin !

        Wollte eigentlich nur wissen, ob in der Apache-Log die Größe VOR oder NACH dem Komprimieren angegeben wird?!

        RTFM. http://www.schroepl.net/projekte/mod_gzip/config.htm

        Wenn Du innerhalb von PHP GZIP-komprimierst, hat der Apache keine Chance, an die unkomprimierte Größe zu kommen, es sei denn, er würde die Ausgabe von PHP wieder dekomprimieren. Jetzt überleg mal, was im Apache-Log stehen wird.

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Hi!

    Bist Du Dir 100%ig sicher dass Dein Server komprimierten Inhalt ausliefert? Poste mal einen kompletten Response-Header, da steht normalerweise übrigens auch die Größe des übertragenen Contend drin, dann schaltest Du gzip mal aus und guckst wie sich das verändert.
    Aber - beachte dass so nur HTML-Output komprimiert wird, bei vielen Seiten macht der HTML-Contend den wenigsten Traffic aus, oft sind es vor allem Bilder... die meist erheblich größer sind. Wie wärs wenn Du mal Deine Logfiles analysierst um zu sehen wie sich der Traffic auf die Dateien verteilt?

    Grüße
    Andreas

  3. Hi Alexander,

    Jetzt zu meiner Frage: Wenn dem so ist, wird dort die komprimierte oder unkomprimierte Seitengröße angegeben?

    die ausgelieferte (also die komprimierte).

    mod_gzip bietet die Möglichkeit, beide Werte in die Log-Datei zu schreiben;
    mod_deflate (in Apache 2) kann das ebenfalls. Beide schaffen es, weil sie Apache-Module sind und intern eine "note" setzen, die vom Apache-Logging-Modul innerhalb eines definierten Logging-Formates verwendet werden kann.
    Dein PHP-Komprimierer dagegen sagt dem Apache nicht, was er getan hat - deshalb kann Apache keine Ahnung haben, daß Deine Ressource auch mal in einer unkomprimierten Version vorgelegen hat und daß deren Größe von irgend einer Relevanz für irgendjemanden sein könnte.

    Das ist wichtig für die Traffic-Auswertung durch meinen Provider, denn trotz eingeschalteter Komprimierung durch PHP ändert sich an meinem Traffic überhaupt nichts :(

    An Deinem Traffic? Oder an den Zahlen, die Dir Dein Provider meldet?

    Und ich habe es mit verschiedenen Rechner getestet und die HTTP-Requests ausgewertet - überall steht Encoding-Type: gzip (oder so ähnlich) -> also komprimiert.

    Wende mal http://www.schroepl.net/cgi-bin/http_trace.pl auf eine Deiner Seiten an.

    Wenn das nur eine Fehlangabe in den Logs ist, dann kann ich nämlich über 70% Traffic einsparen (25 KB zu 5 KB komprimiert) und das ist bei rund 25 GB schon ein guter Happen :)

    Auf welchen Überlegungen basiert diese Hochrechnung?
    1. Welcher Anteil Deines Gesamt-Traffic ist komprimierbar? (Keine Graphiken, beispielsweise, und auch keine HTTP-Header.)
    2. Welcher Anteil Deiner Besucher setzt Browser ein, die Deinem Server erlauben, komprimierten Inhalt zu senden?
    Deine Schätzungen _können_ zutreffen, sie können aber auch um Faktor 2 daneben liegen. (Wobei Du mit 60% immer noch ziemlich zufrieden wärest, nehme ich mal an.)

    Um Dein Problembewußtseit für die Materie, solche Berechnungen aufzustellen, zu schärfen, empfehle ich als Lektüre http://www.schroepl.net/projekte/mgzta/, auch wenn das Teil für Dich nicht direkt nutzbar sein wird (weil es mod_gzip-spezifische Features verwendet).

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.