Wer kann mir mein Performance verbessern?
Wer kann mir mein Performance verbessern?
Hallo zusammen,
meine Webseite funktioniert gut mit Contenido, nur leider ist sie durch das CMS dermaßen langsam geworden, dass ich mich ärgere. Kennt jemand die Tricks, um Contenido schneller zu machen? Ich habe gehört, die Cronjobs könnten was damit zu tun haben...?
Mit der Bitte um schnelle Hilfe - vielen herzlichen Dank,
Axel
meine Webseite funktioniert gut mit Contenido, nur leider ist sie durch das CMS dermaßen langsam geworden, dass ich mich ärgere. Kennt jemand die Tricks, um Contenido schneller zu machen? Ich habe gehört, die Cronjobs könnten was damit zu tun haben...?
Mit der Bitte um schnelle Hilfe - vielen herzlichen Dank,
Axel
-
- Beiträge: 184
- Registriert: Fr 17. Aug 2007, 12:15
- Kontaktdaten:
Wenn sich Deine Seiten nicht minütlich ändern, dann ist es das einfachste, den Browser Deine Seite cachen zu lassen.
Wenn Du Apache benutzt und mod_headers installiert ist, dann kannst Du das beispielsweise in der .htaccess-Datei aktivieren (AllowOverride All vorrausgesetzt):
Dann kannst Du bspw. mit WebSniffer nachsehen, ob die Header auch gesetzt werden.
Dann kannst Du, wenn Du Serveradministrator bist, eine Ausgabekompression durch den Webserver einrichten und Du sparst schon einmal Bandbreite.
Das sind erst einmal Dinge, die nicht direkt Contenido betreffen.
Gruß,
Manuel
Wenn Du Apache benutzt und mod_headers installiert ist, dann kannst Du das beispielsweise in der .htaccess-Datei aktivieren (AllowOverride All vorrausgesetzt):
Code: Alles auswählen
<IfModule mod_headers.c>
Header set Cache-control "public, max-age=3600"
Header set Pragma "public"
</IfModule>
Dann kannst Du, wenn Du Serveradministrator bist, eine Ausgabekompression durch den Webserver einrichten und Du sparst schon einmal Bandbreite.
Das sind erst einmal Dinge, die nicht direkt Contenido betreffen.
Gruß,
Manuel
Habe mein Anliegen zwar schon in einem anderen Thread gepostet, aber mit leider wenig Resonanz.
Also:
Ich habe die letzte Version von Contenido auf dem Webserver meiner Uni installiert, dies ist ein IIS-Server mit 500 MHz CPU (die größtenteils echt am Anschlag läuft, wie mir der Sysadmin gezeigt hat).
Frontend und Backend sind in etwa gleich langsam.
(BTW: Sogar die Weiterleitung zu externen Seiten ist langsam)
Mir wurde schon empfohlen die Cronjobs zu löschen, aber das hat nichts gebracht, es ist genau so lahm wie zuvor. Welche davon sind wirklich essentiell? So Dinge wie Statistik oder "Artikeltimer" brauchen wir nicht.
In die Log-Datei hab ich noch nicht geschaut, werde das aber mal machen. (komme von zu Hause natürlich nicht da dran)
Habe bei meiner Suche auch oft Threads mit Mod-Rewrite oder so gefunden, gilt das auch noch für die "aktuelle" Contenido-Version?
Also:
Ich habe die letzte Version von Contenido auf dem Webserver meiner Uni installiert, dies ist ein IIS-Server mit 500 MHz CPU (die größtenteils echt am Anschlag läuft, wie mir der Sysadmin gezeigt hat).
Frontend und Backend sind in etwa gleich langsam.
(BTW: Sogar die Weiterleitung zu externen Seiten ist langsam)
Mir wurde schon empfohlen die Cronjobs zu löschen, aber das hat nichts gebracht, es ist genau so lahm wie zuvor. Welche davon sind wirklich essentiell? So Dinge wie Statistik oder "Artikeltimer" brauchen wir nicht.
Verstehe ich das richtig, dass das keine Datei im Ordner von Contenido ist?Wenn Du Apache benutzt und mod_headers installiert ist,
In die Log-Datei hab ich noch nicht geschaut, werde das aber mal machen. (komme von zu Hause natürlich nicht da dran)
Habe bei meiner Suche auch oft Threads mit Mod-Rewrite oder so gefunden, gilt das auch noch für die "aktuelle" Contenido-Version?
-
- Beiträge: 184
- Registriert: Fr 17. Aug 2007, 12:15
- Kontaktdaten:
Ich weiß leider nicht auswendig, wie das implementiert ist aber ich denke nicht, dass man solche Dinge, wie Statistik o.ä. einfach abschalten kann, da wirst Du wahrscheinlich selbst Hand anlegen müssen (Korrigiere mich jemand, falls ich mich irre).MRM hat geschrieben:Mir wurde schon empfohlen die Cronjobs zu löschen, aber das hat nichts gebracht, es ist genau so lahm wie zuvor. Welche davon sind wirklich essentiell? So Dinge wie Statistik oder "Artikeltimer" brauchen wir nicht.
Das verstehst Du richtig. [http://httpd.apache.org/docs/2.2/mod/mod_headers.html] Ist ein Apache-Modul. Wie das im IIS aussieht weiß ich jedoch nicht... Sorry.MRM hat geschrieben:Verstehe ich das richtig, dass das keine Datei im Ordner von Contenido ist?Wenn Du Apache benutzt und mod_headers installiert ist,
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 16 Mal
- Kontaktdaten:
Hallo MRM,
du schreibst, dass schon ein Redirect sehr lange dauert, daher vermute ich, dass der Flaschenhals an der Datenbank liegt, wobei 500 MHz in meinen Augen auch nicht unbedingt ausreichend sind.
Bis ein Redirect stattfindet oder Contenido der Inhalt einer Seite ausgibt, werden in Contenido einige Queries an die DB abgesetzt. Bei erstmaligem Aufruf sind es ca. 30, ist die Session gesetzt, sind es ca. 20.
Ich würde zuerst versuchen, an der DB Optimierungen durchzuführen. Eventuell könnte man einiges rausholen, wenn man den MySQL Query-Cache aktiviert oder den Wert hochschraubt.
http://dev.mysql.com/doc/refman/5.0/en/query-cache.html
Sollte das keine zufriedenstellenden Resultate liefern, solltest du dir als Alternative vielleicht das Caching von Inhalten oder Seiten überlegen. Da gibt es folgende 2 Lösungen dafür:
concache zum Cachen der Frontendausgabe
Ist eine Erweiterung von mir und cached die komplette Ausgabe.
Caching - Leistungsverbesserung bis zu Faktor 30
Eine Lösung von kummer, mit dem das Caching auf Modulebene arbeitet.
Mit beiden Möglichkeiten kann die Anzahl der DB Queries erheblich minimiert werden, was sich auf die Performance auswirkt. Wenn aber der DB Server oder die Hardware zu langsam ist, wird das auch nichts bringen.
Gruß
xmurrix
du schreibst, dass schon ein Redirect sehr lange dauert, daher vermute ich, dass der Flaschenhals an der Datenbank liegt, wobei 500 MHz in meinen Augen auch nicht unbedingt ausreichend sind.
Bis ein Redirect stattfindet oder Contenido der Inhalt einer Seite ausgibt, werden in Contenido einige Queries an die DB abgesetzt. Bei erstmaligem Aufruf sind es ca. 30, ist die Session gesetzt, sind es ca. 20.
Ich würde zuerst versuchen, an der DB Optimierungen durchzuführen. Eventuell könnte man einiges rausholen, wenn man den MySQL Query-Cache aktiviert oder den Wert hochschraubt.
http://dev.mysql.com/doc/refman/5.0/en/query-cache.html
Sollte das keine zufriedenstellenden Resultate liefern, solltest du dir als Alternative vielleicht das Caching von Inhalten oder Seiten überlegen. Da gibt es folgende 2 Lösungen dafür:
concache zum Cachen der Frontendausgabe
Ist eine Erweiterung von mir und cached die komplette Ausgabe.
Caching - Leistungsverbesserung bis zu Faktor 30
Eine Lösung von kummer, mit dem das Caching auf Modulebene arbeitet.
Mit beiden Möglichkeiten kann die Anzahl der DB Queries erheblich minimiert werden, was sich auf die Performance auswirkt. Wenn aber der DB Server oder die Hardware zu langsam ist, wird das auch nichts bringen.
Gruß
xmurrix
Zuletzt geändert von xmurrix am Mi 12. Mär 2008, 21:54, insgesamt 1-mal geändert.
Danke für die Tipps!
Habe jetzt mal deinen Concache eingebaut, aber ich habe das Gefühl, dass er noch nicht cached, da der Header und die Navi irgendwie immer später geladen werden:
http://www.biologie.uni-osnabrueck.de/P ... ontent.php
BTW: Error.log ist leer!
Den Tipp mit MySQL muss ich an den Sysadmin weiterreichen und der hat ja auch noch andere Sachen zu tun, kann also ein bisschen dauern.
Habe jetzt mal deinen Concache eingebaut, aber ich habe das Gefühl, dass er noch nicht cached, da der Header und die Navi irgendwie immer später geladen werden:
http://www.biologie.uni-osnabrueck.de/P ... ontent.php
BTW: Error.log ist leer!
Den Tipp mit MySQL muss ich an den Sysadmin weiterreichen und der hat ja auch noch andere Sachen zu tun, kann also ein bisschen dauern.
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 16 Mal
- Kontaktdaten:
Hallo MRM,
sorry, habe dein Post mit dem von schulz verwechselt, werde es noch korrigieren...
Schau dir mal folgende Punkte an, falls du die Defaulteinstellungen nicht geändert hast:
Wenn alles passt und trotzdem keine Fehler in der errorlog.txt stehen, könnte die Integration des Caching in der front_content.php fehlgeschlagen sein.
Gruß
xmurrix
sorry, habe dein Post mit dem von schulz verwechselt, werde es noch korrigieren...
War soeben auf deiner Seite, ob das Caching aktiv ist, kann ich dir nicht sagen. Wenn du die Erweiterung richtig integriert hast - leider gibt es dafür keinen Installer, da ist Handarbeit angesagt - dann sollte es eigentlich funktionieren.MRM hat geschrieben:Danke für die Tipps!
Habe jetzt mal deinen Concache eingebaut, aber ich habe das Gefühl, dass er noch nicht cached, da der Header und die Navi irgendwie immer später geladen werden:
http://www.biologie.uni-osnabrueck.de/P ... ontent.php
Schau dir mal folgende Punkte an, falls du die Defaulteinstellungen nicht geändert hast:
Code: Alles auswählen
/**
* in /cms/includes/concache.php
*/
// aktivieren des caching
$cfgConCache['enable'] = true;
// Cacheverzeichnis, hier z. B. /cms/cache/ (Wichtig: PHP braucht hier Schreibrechte)
$cfgConCache['cachedir'] = $cfgClient[$client]['path']['frontend'].'cache/';
// Unterordner in /cms/cache/, also /cms/cache/content/
// Schau mal nach, ob da Dateien enthalten sind.
$cfgConCache['cachegroup'] = 'content';
Gruß
xmurrix
Nur mal so vorsichtig gefragt...
Die Internetanbindung ist ausreichend schnell ??
EDIT: Nachtrag...
Die Seite an sich ist ausreichend schnell für 500 MHz mit einem IIS..
Optimieren kann man da sicher noch beim Routing...
Gut.. der Server ist nicht pingbar... und die Route hört wohl beim Gateway auf...
Andererseits läuft auf dem iis.biologie.uni-osnabrueck.de noch so einiges an anderen Anwendungen... unter anderem ein paar Websites die ebenfalls recht lahm rüberkommen...
also zumindest ist bei mir kein merkbarer Unterschied zwischen der Contenido Seite der Pflanzenphysiologie und z.B. der Website des Fachbereichs Biologie/Chemie unter http://www.biologie.uni-osnabrueck.de/Fachbereich/ zu erkennen...
Die Internetanbindung ist ausreichend schnell ??
EDIT: Nachtrag...
Die Seite an sich ist ausreichend schnell für 500 MHz mit einem IIS..
Optimieren kann man da sicher noch beim Routing...
Gut.. der Server ist nicht pingbar... und die Route hört wohl beim Gateway auf...
Andererseits läuft auf dem iis.biologie.uni-osnabrueck.de noch so einiges an anderen Anwendungen... unter anderem ein paar Websites die ebenfalls recht lahm rüberkommen...
also zumindest ist bei mir kein merkbarer Unterschied zwischen der Contenido Seite der Pflanzenphysiologie und z.B. der Website des Fachbereichs Biologie/Chemie unter http://www.biologie.uni-osnabrueck.de/Fachbereich/ zu erkennen...
Ich habe die front_content.php geändert, die im Ordner \external\frontend\könnte die Integration des Caching in der front_content.php fehlgeschlagen sein.
liegt, denn in der im ordner \cms\ habe ich nicht die Zeilen finden können, zwischen denen ich deinen Code einfügen muss.
Werde ich morgen machen, geändert habe ich da nichts.Schau dir mal folgende Punkte an, falls du die Defaulteinstellungen nicht geändert hast:
Hmm, bei mir braucht die Seite der PP schon min. 5 Sekunden bevor man überhaupt was sieht, die anderen Seiten brauchen so ca. 3 s.also zumindest ist bei mir kein merkbarer Unterschied zwischen der Contenido Seite der Pflanzenphysiologie und z.B. der Website des Fachbereichs Biologie/Chemie
Aber ich habe hier zu Hause auch "nur" DSL2000.
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 16 Mal
- Kontaktdaten:
Hallo,
Ab Zeile 407 oberhalb von
die Zeilen
einfügen.
Dann ab ca. Zeile 912 oberhalb von
die Zeilen
einfügen.
Dann sollte es funzen...
Gruß
xmurrix
die /externalfrontend/front_content.php ist die falsche Datei, die Änderungen kommen in der /cms/front_content.php an folgende Stellen:MRM hat geschrieben:...
Ich habe die front_content.php geändert, die im Ordner \external\frontend\
liegt, denn in der im ordner \cms\ habe ich nicht die Zeilen finden können, zwischen denen ich deinen Code einfügen muss...
Ab Zeile 407 oberhalb von
Code: Alles auswählen
##############################################
# BACKEND / FRONTEND EDITING
##############################################
Code: Alles auswählen
// START: concache, murat purc
cInclude('frontend', 'includes/concache.php');
$oCacheHandler = new cConCacheHandler($GLOBALS['cfgConCache'], $db);
$oCacheHandler->start($iStartTime); // $iStartTime ist optional und ist die startzeit des scriptes, z. b. am anfang von fron_content.php
// END: concache
##############################################
# BACKEND / FRONTEND EDITING
##############################################
Dann ab ca. Zeile 912 oberhalb von
Code: Alles auswählen
/*
* configuration settings after the site is displayed.
*/
if (file_exists("config.after.php"))
{
@ include ("config.after.php");
}
Code: Alles auswählen
// START: concache, murat purc
$oCacheHandler->end();
echo $oCacheHandler->getInfo();
// END: concache
/*
* configuration settings after the site is displayed.
*/
if (file_exists("config.after.php"))
{
@ include ("config.after.php");
}
Dann sollte es funzen...
Gruß
xmurrix
Hallo,
ich habe heute zufällig noch einige interessante Schalter gefunden, die es vielleicht erleichtern, den Performance - Fresser besser einzugrenzen (wenn z.B. ein bestimmtes Modul bremsen sollte):
\cms\config.php:
Die letzten beiden flags auf true setzen und dann mal die Laufzeit der einzelnen Module betrachten (einfach Frontend 'laufen lassen')
ich habe heute zufällig noch einige interessante Schalter gefunden, die es vielleicht erleichtern, den Performance - Fresser besser einzugrenzen (wenn z.B. ein bestimmtes Modul bremsen sollte):
\cms\config.php:
Code: Alles auswählen
....
/* Various debugging options */
$frontend_debug["container_display"] = false;
$frontend_debug["module_display"] = false;
$frontend_debug["module_timing"] = false;
$frontend_debug["module_timing_summary"] = false;
Für die Freizeit : www.hobbybrauer.de