CMS Made Simple Forums
https://forum.cmsmadesimple.org/

Beschleunigung der Webseite durch Zwischenspeichern
https://forum.cmsmadesimple.org/viewtopic.php?f=31&t=24835
Page 1 of 6

Author:  cyberman [ Sun Aug 17, 2008 6:24 pm ]
Post subject:  Beschleunigung der Webseite durch Zwischenspeichern

Wer von Euch auch die englischsprachigen Foren verfolgt, wird sicherlich auch schon mal den Thread „Full page caching mod“ von kermit gelesen haben:

http://forum.cmsmadesimple.org/index.ph ... 23244.html

Im wesentlichen geht es darum, eher statische Seiten wie etwa Impressum, Datenschutzerklärung o.ä. im Cache zwischenzuspeichern und damit die Performance um den Faktor 10-20 zu erhöhen.

Dafür muss die index.php modifiziert werden. Aufgrund der Tatsache, dass darin bestimmte Werte gesetzt werden können bzw. müssen, die jedoch gegenwärtig nicht über die Administration geändert werden können, wurde davon abgesehen, dies standardmäßig in die Version 1.4 zu übernehmen.

Nichts desto trotz finde ich diese Funktionalität sehr wichtig – selbst Typo3 kommt mit einer static-Option daher. Lange Rede, kurzer Sinn – die modifizierte index.php kann hier herunter geladen werden:

http://cmsms-mods.googlecode.com/files/index.zip

Die Steuerung erfolgt über die Option „Zwischenspeichern“ in der Registerkarte „Optionen“ - damit kann beim Erstellen der Seite festgelegt werden, ob die Seite zwischengespeichert (also statisch gemacht) werden soll oder auch nicht.

Das hat jedoch zur Folge, dass Änderungen an einer Webseite nicht sofort, sondern erst nach dem Leeren des Zwischenspeichers (Administrator > Globale Einstellungen) sichtbar werden.

Aber auch das lässt sich automatisieren. Dafür muss nur ein kleiner Benutzerdefinierter Tag mit folgendem Inhalt erstellt werden:

\$1:
$smarty->clear_all_cache();


Dieser Tag kann dann über die Ereignisverwaltung (Erweiterungen > Ereignisverwaltung) jedem beliebigen Ereignis zugeordnet werden (sofern das Modul die entsprechenden Ereignisse bereit stellt). Über diesen Trick lassen sich letzten Endes auch dynamische Seiten wie News, Gästebücher und ähnliches statisch betreiben ;).

Author:  igel [ Sun Aug 31, 2008 10:04 am ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Hallo,
da ich mit den Ladezeiten meiner Seiten nicht zufrieden bin und schon etliche Tipps zur Steigerung der Performance ausprobiert hatte, habe ich jetzt auch mal die angebotene index.php eingesetzt.

Häkchen bei "Zwischenspeichern" ist wieder gesetzt und Zwischenspeicher geleert.
Das Ergebnis ist:

Warning: file_get_contents() expects at most 2 parameters, 3 given in /xxx[email][/email]/htdocs/cms/index.php on line 131

Habe ich etwas übersehen?

Gruß
Inge

Author:  cyberman [ Wed Sep 10, 2008 6:25 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Welche PHP-Version verwendest du?

Author:  igel [ Wed Sep 10, 2008 9:00 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Hallo,

war unter PHP Version 4.4.9, .
Auf einem Server konnte ich inzwischen auf PHP 5 wechseln  und damit ist der Fehler ja verschwunden.

Kann es für PHP 4 a auch noch eine Ersatzfunktion geben, wie für file_put_contents?

Gruß
Inge

Author:  cyberman [ Thu Sep 11, 2008 4:41 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

igel \igel:
Auf einem Server konnte ich inzwischen auf PHP 5 wechseln  und damit ist der Fehler ja verschwunden.


Lt. Kermit ist es grundsätzlich unter PHP5 getestet.

\$1:
Kann es für PHP 4 a auch noch eine Ersatzfunktion geben, wie für file_put_contents?


http://forum.cmsmadesimple.org/index.ph ... #msg113045

Author:  igel [ Thu Sep 11, 2008 5:21 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Hallo,

danke für Deine Antwort.

In dem von Dir genannten Link hatte ich die Anpassung von 'file_put_contents' für PHP4 gesehen und auch, daß das  bereits in der modifizierten index.php enthalten ist.
Darum hatte ich den Versuch unter PHP 4 gewagt.

Daß nun aber 'file_get_contents()' hier den Fehler auslöst, damit habe ich nicht gerechnet und kann auch in dem genannten Thread nichts dazu entdecken.

Selber anpassen kann ich das leider auch nicht, also müssen Server mit PHP4 leider drauf verzichten.  Schade auch. :'(

Gruß
Inge

Author:  nockenfell [ Fri Sep 19, 2008 12:32 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Das Caching macht nach der Umstellung von utf-8 auf iso-8859-1 Probleme. Beim ersten mal laden der Seite werden die Umlaute richtig dargestellt. Sobald ich die Seite jedoch neu Lade (F5) werden die Umlaute durch Sonderzeichen (irgend so eine Box die wie 2 Dominosteine aussehen) ersetzt.

Nach dem ich nun wieder die normale index.php einsetze, habe ich das Problem nicht mehr. Ich bin dem ganzen jedoch noch nicht auf die Spur gekommen.

Hat einer eine Idee welche Funktion dafür verantwortlich sein könnte?

Author:  NaN [ Fri Sep 19, 2008 1:47 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Wieso bleibst Du nicht bei utf-8 ?
Wozu die Umstellung auf ISO ?

Author:  nockenfell [ Fri Sep 19, 2008 2:16 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

NaN \NaN:
Wieso bleibst Du nicht bei utf-8 ?
Wozu die Umstellung auf ISO ?


Ich hab von früher noch einige Scripts und DB Schnippsel die in iso-8859-1 kodiert sind. Damit ich dies ohne grosse Anpassungen übernehmen kann, hoffte ich, dass die Umstellung auf iso-8859-1 hier Vorteile erbringen könnte.

Scheint aber nicht unbedingt so.

Muss mal die utf8_decode/encode funktionen von PHP anschauen. Ev könnten die auch eine Lösung sein.

Hier gleich eine andere Frage: Ich habe eine Textdatei mit Umlauten die normal in Windows notepad erstellt wurde. Wenn ich diese mit einer selber geschriebenen Funktion auslese, werden die Umlaute mit Fragezeichen (schwarzes Symbol) dargestellt. Hier werde ich mal die utf8 Funktionen von PHP ausprobieren. Mal schauen ob dies hier eine Lösung ist.

Hat einer von euch hier Erfahrungen?

Author:  cyberman [ Sat Sep 20, 2008 5:01 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

nockenfell \nockenfell:
Ich hab von früher noch einige Scripts und DB Schnippsel die in iso-8859-1 kodiert sind. Damit ich dies ohne grosse Anpassungen übernehmen kann, hoffte ich, dass die Umstellung auf iso-8859-1 hier Vorteile erbringen könnte.


http://forum.mysqldumper.de/viewtopic.php?p=19187#19187

Author:  nockenfell [ Sat Sep 20, 2008 6:49 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Super. Danke für den Link. Hat geklappt.

Author:  Sonya [ Tue Oct 07, 2008 8:44 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Hallo,

hat jemand die Modifizierung mit FrontEndUsers oder anderen dynamischen Modules ausprobiert? Ich wäre dankbar für ein Feedback.

Gruß,
Sonya

Author:  cyberman [ Wed Oct 08, 2008 5:51 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Sonya \Sonya:
hat jemand die Modifizierung mit FrontEndUsers oder anderen dynamischen Modules ausprobiert?


Ähmm, hab ich da etwas verpasst?

Standen die im gleichen Thread?

Author:  Sonya [ Wed Oct 08, 2008 5:59 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

cyberman \cyberman:
Sonya \Sonya:
hat jemand die Modifizierung mit FrontEndUsers oder anderen dynamischen Modules ausprobiert?


Ähmm, hab ich da etwas verpasst?

Standen die im gleichen Thread?

Ähmm :) Im gleichen Thread? Weiß ich nicht gerade, was Du meinst.  ???

Werde aber auf meine Frage antworten: Nein, das funktioniert nicht mit FrontEndUsers. Allerdings bin gerade dabei, etwas auszuprobieren. Ich speichere im Dateinamen (Cache-Dateiname) zusätzlich die ID von FrontEndUser. Damit kriegt jeder User sein eigenes Cache. Beim Ausloggen oder ändern der User-Daten wird der User-Cache geleert. Ich weiß überhaupt nicht, ob so etwas perfomant sein wird, bei mir tummeln sich etwa 2000 eingeloggte User auf der Seite und 3000 nicht eingeloggte. Die letzten kriegen einen gemeinsamen Cache, die eingeloggten jeweils eigenen.

Eine andere Lösung wäre, wenn der User eingeloggt ist, gar nicht zu cachen und wenn nicht eingeloggt - ab in den Cache. Was hälst Du davon? Ich bin gerade kein Cache-Profi. Bin ich da auf dem richtigen Weg?

Author:  cyberman [ Wed Oct 08, 2008 6:31 pm ]
Post subject:  Re: Beschleunigung der Webseite durch Zwischenspeichern

Sonya \Sonya:
Ähmm :) Im gleichen Thread? Weiß ich nicht gerade, was Du meinst.  ???


cyberman \cyberman:
Wer von Euch auch die englischsprachigen Foren verfolgt, wird sicherlich auch schon mal den Thread „Full page caching mod“ von kermit gelesen haben:

http://forum.cmsmadesimple.org/index.ph ... 23244.html


Aus dem ersten Posting dieses Threads  ;D.

\$1:
Ich weiß überhaupt nicht, ob so etwas perfomant sein wird,


Nach meinem Verständnis macht es für einen User eher keinen Sinn, zumal es beim Ausloggen eh gelöscht wird (abgesehen von der gigantischen Datenmenge, die durch die 2000 User produziert wird).

Ich würde hier eher einen Bezug zur Gruppe herstellen, z. Bsp. der Gruppenname (natürlich md5-encodiert). 'ne ID lässt sich von Außenstehenden zu einfach durch Ausprobieren nachvollziehen und dann wären die Daten wieder nicht sicher.

\$1:
Eine andere Lösung wäre, wenn der User eingeloggt ist, gar nicht zu cachen und wenn nicht eingeloggt - ab in den Cache.


Ja, so wäre der Systemstandard ...

Page 1 of 6 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/