Michael Schröpl: Tuning-Tricks jeder Art...

Beitrag lesen

Hallo Chräcker,

genau da ist der Fehler:
oh, danke, daß wuste ich nicht.... ja, dann
verbrauchen die natürlich etwas Zeit....

und nicht nur "etwas".

Fangen wir mal damit an, daß Dein "blind gif" zwar
etwa 50 Bytes auf Deiner Platte belegt, aber mit einem
HTTP-Header von 400 bytes angefordert und einem wei-
teren von 300 bytes ausgeliefert wurde (beides noch
sehr optimistisch gerechnet - etwas TCP-Overhead käme
nämlich auch noch dazu).
Schon sind es 300+400+50=750 bytes und damit um Faktor
15 mehr, als Du erwartet hast.

Und jetzt laß dieses Bild tatsächlich 20 mal pro Doku-
ment nachgefragt werden! Daß in diesem Falle dann die
eigentlichen Daten nur einmal übertragen werden, macht
so gut wie nichts aus. Nun haben wir also einmal 750
und 19 * 700 bytes, gibt summa summarum 14050 Bytes.

Das teilen wir jetzt durch die 50 Bytes des Original-
GIF und stellen fest, daß die Kosten um Faktor 281
höher liegen als die Dateigröße! Aua, aua, aua ...

Man müßte den Benutzern mit Riesenbuchstaben "stelle
Deinen Cache kooperativ ein" auf den Bildschirm malen -
wenn man es als Server denn irgendwie erkennen könnte!

Aber im Gegensatz zu komprimier-unwilligen Clients, die
man an ihrem fehlenden HTTP-Header "Accept-Encoding"
erkennen kann (Du erinnerst Dich an meine "bunte"
Seite, ja?), sieht man einem einzelnen unnötigen
Cache-Validierungs-Request nicht an, daß er unnötig
war. Erst wenn ein Benutzer nachweislich 80+% aller
Zugriffe mit HTTP-Status 304 macht (ich habe solche
Pappenheimer  auf der Serverfarm ...), sieht man in
seinem Logfile, daß er offenbar etwas verkehrt macht.
Aber wie erreicht man diesen Benutzer?

Log Dich mal auf Deinem Server ein, laß ein "tail -f"
auf Dein access_log laufen, pipe ein "grep" für Deine
IP-Adresse dahinter, und dann surfe mal mit verschie-
denen Caching-Einstellungen des Browsers über Deine
Seiten ...

Viele Grüße
      Michael

0 47

Tuning-Tricks jeder Art...

Kai Lahmann
  • programmiertechnik
  1. 0
    emu
    1. 0
      Kai Lahmann
    2. 0
      Michael Schröpl
  2. 0
    uwe
    1. 0
      Kai Lahmann
    2. 0
      MichaelB
      1. 0
        Michael Schröpl
    3. 0
      Stefan (der_priester)
      1. 0
        Sven Rautenberg
        1. 0
          Andreas
        2. 0
          Stefan (der_priester)
      2. 0
        Kai Lahmann
        1. 0
          Stefan (der_priester)
        2. 0
          Michael Schröpl
  3. 0
    Armin G.
    1. 0
      Michael Schröpl
      1. 0
        Armin G.
  4. 0
    Chräcker Heller
    1. 0
      Kai Lahmann
      1. 0
        Slyh
        1. 0
          Kai Lahmann
        2. 0
          Michael Schröpl
      2. 0
        Chräcker Heller
        1. 0
          Kai Lahmann
          1. 0
            Chräcker Heller
        2. 0
          Michael Schröpl
          1. 0
            Andreas
            1. 0
              Michael Schröpl
  5. 0
    Cyx23
    1. 0
      Chräcker Heller
      1. 0
        Cyx23
    2. 0
      Kai Lahmann
      1. 0
        Cyx23
        1. 0
          Kai Lahmann
          1. 0
            Cyx23
            1. 0
              Kai Lahmann
              1. 0
                Cyx23
                1. 0
                  Kai Lahmann
                  1. 0
                    Cyx23
                    1. 0
                      Kai Lahmann
                      1. 0
                        Henryk Plötz
  6. 0
    Marko
    1. 0
      Kai Lahmann
      1. 0
        Michael Schröpl
  7. 0
    Michael Schröpl
  8. 0
    Dr. Lecter