Caching - Leistungsverbesserung bis zu Faktor 30
Caching - Leistungsverbesserung bis zu Faktor 30
hi all
ich habe im rahmen einer überarbeitung der front_content.php zunächst einmal einen caching-mechanismus erstellt, der eine erhebliche leistungsverbesserung bringen soll. auf meinem rechner dauert die durchschnittliche ausgabe eines artikels...
ohne caching: 100 - 150 ms
mit caching: ca. 3 ms
je nach dem, wie gut die einzelnen module programmiert sind, kann die leistungsverbesserung sogar noch höher ausfallen.
dem einwand, die anwender würden nicht wissen, ob das caching nun eingeschaltet sein darf oder nicht, bin ich - hoffentlich - zuvor gekommen. und zwar kann in jedem modul die maximalcachedauer für das jeweilige modul festgelegt werden. verwendet wird schliesslich die kleinste gesetzte cachedauer, die in einem modul gesetzt worden ist, das im template verwendet wird. darf die ausgabe eines moduls gar nicht gecached werden (z.b. formularmodul), wird dort einfach der wert auf 0 gsetzt.
in der aktuellen version wird der cache nicht gelöscht, wenn änderungen an den kategorien vorgenommen werden. das müsste vorerst manuell gemacht werden (in der tabelle con_cache). sobald das ganze hinreichend getestet ist, werde ich das noch ergänzen.
nun bin ich also auf der suche nach leuten, die das ganze mal testen würden. ohne modrewrite läuft das ganze - mindestens bei mir - soweit gut. für modrewrite habe ich zwar vorgesorgt, allerdings noch nicht getestet, da ich keine solche installation am laufen habe.
die erweiterung findet sich hier: http://www.editio.ch/cms/front_content. ... uleView=46
feedback ist gefragt. aber achtung: es ist eine version zum testen und für mutige meinetwegen auch in der produktion. für all jene, die contenido gerade mal knapp zum laufen bringen, ist die erweiterung noch nicht geeignet.
gruss,
andreas
ich habe im rahmen einer überarbeitung der front_content.php zunächst einmal einen caching-mechanismus erstellt, der eine erhebliche leistungsverbesserung bringen soll. auf meinem rechner dauert die durchschnittliche ausgabe eines artikels...
ohne caching: 100 - 150 ms
mit caching: ca. 3 ms
je nach dem, wie gut die einzelnen module programmiert sind, kann die leistungsverbesserung sogar noch höher ausfallen.
dem einwand, die anwender würden nicht wissen, ob das caching nun eingeschaltet sein darf oder nicht, bin ich - hoffentlich - zuvor gekommen. und zwar kann in jedem modul die maximalcachedauer für das jeweilige modul festgelegt werden. verwendet wird schliesslich die kleinste gesetzte cachedauer, die in einem modul gesetzt worden ist, das im template verwendet wird. darf die ausgabe eines moduls gar nicht gecached werden (z.b. formularmodul), wird dort einfach der wert auf 0 gsetzt.
in der aktuellen version wird der cache nicht gelöscht, wenn änderungen an den kategorien vorgenommen werden. das müsste vorerst manuell gemacht werden (in der tabelle con_cache). sobald das ganze hinreichend getestet ist, werde ich das noch ergänzen.
nun bin ich also auf der suche nach leuten, die das ganze mal testen würden. ohne modrewrite läuft das ganze - mindestens bei mir - soweit gut. für modrewrite habe ich zwar vorgesorgt, allerdings noch nicht getestet, da ich keine solche installation am laufen habe.
die erweiterung findet sich hier: http://www.editio.ch/cms/front_content. ... uleView=46
feedback ist gefragt. aber achtung: es ist eine version zum testen und für mutige meinetwegen auch in der produktion. für all jene, die contenido gerade mal knapp zum laufen bringen, ist die erweiterung noch nicht geeignet.
gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Caching - Leistungsverbesserung bis zu Faktor 30
Hir kummer,kummer hat geschrieben:hi all
feedback ist gefragt. aber achtung: es ist eine version zum testen und für mutige meinetwegen auch in der produktion. für all jene, die contenido gerade mal knapp zum laufen bringen, ist die erweiterung noch nicht geeignet.
gruss,
andreas
hier mein erstes Feedback:
ich erhalte folgende Fehlermeldung:
Das liegt wohl daran, dass mein WEB-Server und mein MySQL Server auf unterschiedlichen Servern läuft. Mach mich mal auf die SucheWarning: mysql_real_escape_string(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /export/apache/www/test-go4support-de/contenido/classes/atelierq.authentication.class.inc.php on line 28
Warning: mysql_real_escape_string(): A link to the server could not be established in /export/apache/www/test-go4support-de/contenido/classes/atelierq.authentication.class.inc.php on line 28
Gruß
schlaucher
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
@schlaucher: Ersetze mal in der Zeile 28 der Klasse:
durch
Evtl. hilft das bereits weiter.
Code: Alles auswählen
$login = mysql_real_escape_string($login);
Code: Alles auswählen
$login = mysql_real_escape_string($login, $this->db->link_id());
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
Nein, das hat nicht geholfen. Ich verstehe noch nicht, warum er die Datenbank über den lokalen Socket verbinden will.Dodger77 hat geschrieben:@schlaucher: Ersetze mal in der Zeile 28 der Klasse:
durchCode: Alles auswählen
$login = mysql_real_escape_string($login);
Evtl. hilft das bereits weiter.Code: Alles auswählen
$login = mysql_real_escape_string($login, $this->db->link_id());
Gruß
schlaucher
ich kann dein problem inzwischen reproduzieren und werde nach einer lösung suchen. ich gebe hier bescheid, wenn ich soweit bin.
gruss,
andreas
gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
ich habe das problem gefunden und gelöst. eine neue version findet sich hier: http://www.editio.ch/cms/front_content. ... uleView=47
die datenbank hat sich auch ein wenig geändert. falls du es noch installiert hast, musst du die tabelle löschen und neu erstellen.
gruss,
andreas
die datenbank hat sich auch ein wenig geändert. falls du es noch installiert hast, musst du die tabelle löschen und neu erstellen.
gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
Hi kummer,kummer hat geschrieben:ich habe das problem gefunden und gelöst. eine neue version findet sich hier: http://www.editio.ch/cms/front_content. ... uleView=47
die datenbank hat sich auch ein wenig geändert. falls du es noch installiert hast, musst du die tabelle löschen und neu erstellen.
gruss,
andreas
so, die neuen Versionen sind eingespielt und es kommen keine Fehlermeldungen mehr.
Aber !!!!
Ich habe die Einträge aus dem output.php mal in das normale "Text HTML" Modul eingefügt. Nachdem ich die Seite aktualisiert habe, werden nun sämmtliche Menüeinträge auf Deine Seite umgeleitet
Hast Du Deine URL irgenwo fest eingetragen???
Schau mal auf http://test.go4support.de
Gruß
schlaucher
sorry about...
du findest diesen eintrag in der neuen front_content.php. siehe...
Code: Alles auswählen
<?php
include_once('../contenido/classes/atelierq.frontend.class.inc.php');
include_once('../contenido/classes/atelierq.authentication.class.inc.php');
include_once ('config.php');
include_once ($contenido_path . 'includes/startup.php');
$frontend = new atqFrontend(
true, // Caching ein/aus
true, // Links umschreiben
true, // Erste Ebene unterdrücken
true, // Sprache verwenden
true, // Cacheunterdrückung über Parameter nocache erlauben
true, // Ausgabe der detaillierten Ausführungsdaueranalyse zulassen
'http://www.editio.ch/'
);
if (!$frontend->cacheOutput) {
$idart = $frontend->getId('idart');
$lang = $frontend->getId('lang');
$idcat = $frontend->getId('idcat');
include_once('front_content.standard.php');
$frontend->createCache(24 * 60 * 60);
}
?>
das ganze ist halt noch in entwicklung. die nächsten schritte werden sein:
(1) weiterleitungen nicht mehr an den browser senden, sondern gleich auswerten (dann bleibt im falle einer weiterleitung die url im browser gleich)
(2) wenn ein eintrag in der con_code besteht, diese auswerten, anstatt front_content.standard.php auszuwerten.
(3) verbesserung des url-rewrites
(4) noch ungewiss, was sonst noch alles kommen wird.
ich bin froh, wenn sich ein tester findet, der das ganze auf herz und nieren prüft. bleib also dran...
ach ja, wichtig noch: wenn ein modul nie gecached werden soll, fügst du bei diesem untenstehenden code an den anfang (das unterdrückt dann auf allen seiten das caching, in denen das modul eingesetzt wird):
Code: Alles auswählen
if (isset($GLOBALS['frontend']) && is_object($GLOBALS['frontend'])) {
$GLOBALS['frontend']->setMaxCachingPeriod(0);
}
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
so, der Domainname stimmt nun, aber alle Links sind nun "modrewrite". Hab ich da was überlesen? Die Installation ist ein Standard contenido, keine MR Version.kummer hat geschrieben: ich bin froh, wenn sich ein tester findet, der das ganze auf herz und nieren prüft. bleib also dran...
Gruß
schlaucher
schau dir die front_content.php an. dort kannst du einstellen, ob du die links umschreiben möchtest oder nicht. dort kannst du auch das caching ein- oder ausschalten. wenn du modrewrite nutzen möchtest, musst du einfach die .htaccess-datei in das root-verzeichnis legen. das findet sich dort, wo du die übrigen dateien gefunden hast (http://www.editio.ch/cms/front_content. ... 47&class=5).
mit dieser suite hast du modrewrite schon mit dabei. du kannst es einfach ausschalten, wenn du es nicht nutzen willst.
mit dieser suite hast du modrewrite schon mit dabei. du kannst es einfach ausschalten, wenn du es nicht nutzen willst.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Hallo,
ich habe auf meinem localhost Testsystem das Caching Modul installiert. Funktioniert so weit prima. Lediglich das modrewrite will nicht so wie es soll.
Dir URL wird zwar umgeschrieben aber anschließend bekomme ich eine 404 ausgeliefert.
Wo könnte ich anfangen nach einem Fehler zu suchen?
Danke für Tipps,
Daniel
ich habe auf meinem localhost Testsystem das Caching Modul installiert. Funktioniert so weit prima. Lediglich das modrewrite will nicht so wie es soll.
Dir URL wird zwar umgeschrieben aber anschließend bekomme ich eine 404 ausgeliefert.
Die Pfadangabe die sich aus front_content.php und .htaccess zusammenbaut scheint auch zu stimmen.
Wo könnte ich anfangen nach einem Fehler zu suchen?
Danke für Tipps,
Daniel
Hallo,
ich finde dieses Thema sehr interessant und verfolge mit Spannung was hier passiert und das aus zwei Gründen:
a) die Performancesteigerung
b) das Caching
Zu b) Ich überlege schon seit einiger Zeit, ob Inhalte aus Redaktionssystemen wirklich von den Suchmaschinen gefunden werden, da sie ja aus der Datenbank generiert werden.
Aus diesem Grund habe ich mir gedacht, dass das Caching bzw. das auf dem Server abgelegte Abbild der jeweiligen Seite eine Lösung hierfür sein könnte. Das heißt, dass gecachte Seiten von den Suchmaschinen gefunden werden können.
Was meint ihr dazu, liege ich hier richtig?
Gruß,
Raphael
ich finde dieses Thema sehr interessant und verfolge mit Spannung was hier passiert und das aus zwei Gründen:
a) die Performancesteigerung
b) das Caching
Zu b) Ich überlege schon seit einiger Zeit, ob Inhalte aus Redaktionssystemen wirklich von den Suchmaschinen gefunden werden, da sie ja aus der Datenbank generiert werden.
Aus diesem Grund habe ich mir gedacht, dass das Caching bzw. das auf dem Server abgelegte Abbild der jeweiligen Seite eine Lösung hierfür sein könnte. Das heißt, dass gecachte Seiten von den Suchmaschinen gefunden werden können.
Was meint ihr dazu, liege ich hier richtig?
Gruß,
Raphael
für eine suchmaschine spielt es keine rolle, wie die inhalte erzeugt werden. die daten werden in jedem fall vom server bereit gestellt. unabhängig davon, ob die daten direkt vom dateisystem oder aus einer datenbank stammen. da brauchst du dir keine sorgen zu machen. ein bot kann gar nicht feststellen, ob die daten dynamsich generiert sind oder nicht.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
hallo danielpun hat geschrieben:Dir URL wird zwar umgeschrieben aber anschließend bekomme ich eine 404 ausgeliefert.
Die Pfadangabe die sich aus front_content.php und .htaccess zusammenbaut scheint auch zu stimmen.
wo liegt die htaccess? wenn du sie in das root der domäne legst, sollte es funktionieren. wenn du sie im cms-verzeichnis hast, müsstest du die angaben in der front_content.php überprüfen.
gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)