Performance - gzip oder zlib?

Hallo,

habe im Moment noch sehr wenige Produkte auf der Homepage und trotzdem ist die Ladezeit sehr lang.
Habe mir heute sehr viel durchgelesen und bin ein wenig verwirrt, weil ich nicht genau weiß, was vom Server untersützt wird und was wie zu installieren wäre, wenn es vom Server unterstütz wird, jeoch nicht installiert ist.

Erstmal einige grundlegende Angaben:
Ich nutze das 1und1 DualPerfect Paket mit einem Memory Limit von 60MB, Scriptlaufzeit 30sec und erlaubten parallelen Prozessen von 15.

Zunächst sei gesagt, dass mir der im Firefox installierte Page Speed Analyzer einen Score 48/100 anzeigt.
Ebenso wird mir mitgeteilt, dass ich die Komprimierung aktivieren und das Browser Caching nutzen soll.

Hier im Forum finde ich einige Hinweise die ich ausprobiert habe.
http://www.oxid-esales.com/forum/showthread.php?t=1600

Nachdem ich php_value output_handler ob_gzhandler in die .htaccess eingebunden habe erhielt ich einen Internal Server Error 500.

Desweiteren fand ich noch einen Hinweis unter:
http://oxid.powertemplate.de/info/performance.html

Auch das einbeinden von:

<FilesMatch "\.(txt|html|htm|php|css|js|pdf)"> 

  php_value output_handler ob_gzhandler 

</FilesMatch>  

führte zu dieser Fehlermeldung.

Ich habe dann vermutet, dass gzip bei meinem Server gar nicht möglich ist.

In der PHP info fand ich folgende Angaben:

output_buffering: 0 0
output_handler: no value no value

Registered PHP Streams:
https, ftps, compress.zlib, compress.bzip2, php, file, data, http, ftp, zip

ZLib Support:
enabled
Stream Wrapper support:
compress.zlib://
Stream Filter support;
zlib.inflate, zlib.deflate
Compiled Version:
1.2.3

Zu gzip habe ich nichts gefunden.
Bedeutet das jetzt für mich, dass ich “gzip” nicht nutzen kann sondern “zlib” nutzen muss?
Ist dass jetzt bereits auf dem Server installiert oder bedeuten die Angaben nur, dass das unterstützt wird, wenn ich das installiere?

Wenn ich es selber installieren muss, wo würde ich das jetzt finden?

Andere Tipps im Internet, wie das Einbinden von “ob_start(“ob_gzhandler”);” z.B. in die index.php führen zwar dazu, dass sich z.b. die Datenmenge des html. codes von 57,5 KB auf 8,8 KB reduziert, ich jedoch trotzdem jeweils 1,1 sec benötige um den html Inhalt zu laden.
Hier stand dann der schlaue Zusatz, dass man einen ob_flush() bei Datenbankabfragen einfügen soll. Das habe ich auch nicht verstanden.

Kann mir jemand helfen?

Danke und Gruß,
Norbert

hier gibts evtl. noch den einen oder anderen hilfreichen Tipp

Oxid Performance Whitepaper

[QUOTE=Hebsacker;70933]hier gibts evtl. noch den einen oder anderen hilfreichen Tipp

Oxid Performance Whitepaper[/QUOTE]

Hallo,
habe das Papier mal durchgearbeitet und auch einige Dinge verbessern können.

Mir ist es gelungen Javascript zu komprimieren.
Habe die gezipt und als .jgz abgespreichert.

Bei den .css Dateien bekomme ich das leider nicht hin.

Habe ich hier noch einen Fehler in der htaccess?

RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.jgz -f
RewriteRule (.*)\.js$ $1\.js.jgz [L]
RewriteRule (.*)\.css$ $1\.css.jgz [L]
AddType "text/javascript" .js.jgz
AddType "text/css" .js.jgz
AddEncoding gzip .jgz

Gerne würde ich auch den Trick mit dem Einbinden von CSS und Javascript über eine Subdomain anwenden.

Hierzu habe ich wie angegeben für die CSS eine Subdomain angelegt:

css.meine_domain.de
Dann habe ich die Subdomain wie folgt auf das Unterverzeichnis weitergeleitet:
/www.meine_domain.de/out/azure/src/css

In der base.tpl habe ich habe ich dann folgendes eingesetzt:


 [{block name="base_style"}]
        <link rel="stylesheet" type="text/css" href="http://css.www.meine_domain.de/oxid.css">
      
    [{/block}]


Die Links für die anderen drei css habe ich hier jetzt nicht angegeben.

Diese Vorgehensweise führte dazu, dass einige Styles anders aussahen als vorher und einige png-Dateien nicht mehr gefunden werden.
Was ist hier zu tun?

Beim Javascript habe ich ebenfalls eine Subdomain angelegt:

javascript.meine_domain.de
Dann habe ich die Subdomain wie folgt auf das Unterverzeichnis weitergeleitet:
/www.meine_domain.de/out/azure/src/js/libs

        <link rel="javascript" type="text/javascript" href="http://javascript.meine_domain.de/jquery.min.js">

Hier ist es leider so, dass die Scripte wenn ich das im Firebug beobachte, gar nicht übertragen werden?

Gruß;
Norbert

[QUOTE=Kaiser3;71929]
Diese Vorgehensweise führte dazu, dass einige Styles anders aussahen als vorher und einige png-Dateien nicht mehr gefunden werden.
Was ist hier zu tun?
[/QUOTE]
Die ganzen Aufrufe für die Bilddateien hast du auch auf funktionierende URLs umgestellt?

[QUOTE=Kaiser3;71929]
Beim Javascript habe ich ebenfalls eine Subdomain angelegt:

javascript.meine_domain.de
Dann habe ich die Subdomain wie folgt auf das Unterverzeichnis weitergeleitet:]Hier ist es leider so, dass die Scripte wenn ich das im Firebug beobachte, gar nicht übertragen werden?[/QUOTE]
Was passiert denn, wenn du die URL für die JS-Dateien aufrufst? Ich denke die URL ist entweder nicht korrekt, oder die sie funtioniert nicht, weil die Suchmaschinen-URL´s dazwischenfunken.

PS: Solange du die CSS- und JS-Dateien nicht auf einen seperaten Server auslagerst, dürfte die Zugewinn an Geschwindigkeit auch minimal sein. Diese Dateien werden idR. nur einmal geladen und dann vom Browser gecacht. Sinnvoller währe das auslagern der der Artikelbilder…

[QUOTE=ChristophH;71935]Die ganzen Aufrufe für die Bilddateien hast du auch auf funktionierende URLs umgestellt?

Was passiert denn, wenn du die URL für die JS-Dateien aufrufst? Ich denke die URL ist entweder nicht korrekt, oder die sie funtioniert nicht, weil die Suchmaschinen-URL´s dazwischenfunken.

PS: Solange du die CSS- und JS-Dateien nicht auf einen seperaten Server auslagerst, dürfte die Zugewinn an Geschwindigkeit auch minimal sein. Diese Dateien werden idR. nur einmal geladen und dann vom Browser gecacht. Sinnvoller währe das auslagern der der Artikelbilder…[/QUOTE]

Hallo,
danke für die Antwort.
Ich denke, dass anpassen der URLs ist dann einfach zu aufwendig.

Hat noch jemand eine Idee, wie ich das komprimieren der CSS hinbekomme?
Bei Javascrip funktioniert es so:


RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.jgz -f
RewriteRule (.*)\.js$ $1\.js.jgz [L]
AddType "text/javascript" .js.jgz
AddEncoding gzip .jgz

Der Ansatz mit der CSS scheint aber einen Fehler zu haben:


RewriteRule (.*)\.css$ $1\.css.jgz [L]
AddType "text/css" .js.jgz

Ferner hätte ich noch gerne gewusst, ob mir noch jemand was zu den parallel ablaufenden Prozessen sagen kann.
Bei meinem Anbieter sind 20 zugelassen.
Was meint Ihr, ist das zu wenig?

Danke und Gruß,
Norbert