pragmaMx Support Forum

pragmaMx => Allgemeines => Thema gestartet von: Atze am 13 November 2005, 23:24:35

Titel: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 13 November 2005, 23:24:35
Hallo,
wäre es möglich das man Caching Time bei den Blöcken
auf 1min runterstellen kann??

Momentan sind 5min das kleinste.
Kann ich das selber auch verändern??


Danke Gruß
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 13 November 2005, 23:36:00
Hi :)

das bringt nix, dann schalte das caching ganz ab für den Block.
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 13 November 2005, 23:37:28
Jaein,
bei der Onlineliste wäre das ideal für mich.
Also ist ein größerer Akt??

2min wäre auch ok.

Gruß
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 13 November 2005, 23:52:51
Der Onlineblock?

Der wird doch garnicht gecached...
Alle Blöcke, die irgendwelche Userspezifischen Daten auslesen, werden stabdardmässig nicht gecached und das sollte auch so belassen werden.
Steht diese Zeile noch im Block?
$mxblockcache = FALSE;
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 13 November 2005, 23:57:22
HI,
ja die steht noch im Block,
hab sie aber auf TRUE gesetzt.

Hab da was umgebaut am Block bzw geteilt.
Die Onlineliste steht jetzt bei mir als alleiniger/seperater Block.
Die PN-Anzeige, Usergästebuch und Buddy sind in einem anderen Block.


Somit ist es mir möglich die Onlineliste zu cachen
und dem genannten Problem, das bei mir auch festgestellt wurde, zu umgehen.

############

Wieso kann man eigentlich "html-Blöcke" nicht cachen??
Sind die schon??

Gruß

Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 14 November 2005, 00:08:04
Oh, ok,
dann kann man die Daten natürlich cachen, das macht Sinn ;)
Wegen den HTML Blöcken musst du erst verstehen was der Blockcache eigentlich ist....

Die Datei-Blöcke sind ja normale php-Dateien, die includet werden. Diese Scripte führen dann bei jedem Seitenaufruf mehr oder weniger Datenbankabfragen aus. Das Ergebnis ist ja reines HTML, was dann im Browser angezeigt wird. Diese HTML-Ausgabe wird für die eingestellte Cachezeit direkt in der Blocktabelle, die sowieso bei jedem Seitenaufruf ausgelesen wird, zwischengespeichert. Beim nächsten Seitenaufruf wird der Block dann also nicht includet, sondern der Inhalt kommt zusammen mit den anderen Daten, wie z.B. der Überschrift, direkt aus der Blocktabelle. Man spart also die Datenbankabfragen, die die Blockdatei verursachen würde.
Allerdings für den Preis, dass bei jedem neu zwischenspeichern des Caches, die Blocktabelle beschrieben wird, was normalerweise nicht ist. Deswegen bringt es nicht sehr viel, die Cachezeit so weit runterzusetzen. Die Optimierung durch eingesparten Datenbankabfragen wird durch das dauernde Beschreiben der Blocktabelle wieder zunichte gemacht.

So, wenn du es jetzt immernoch brauchst, muss ich mich erst durch die Systemdateien wühlen, weil das ist ganz schön komplex....
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 14 November 2005, 00:18:17
Hi,
danke für die Ausführliche Antwort.
Ich versteh, aber nicht ganz  :D

So dringend ist es mom auch nicht. Solange sich kein User aufregt, lass ich es mal gut sein.
Dachte, vielleicht ist nur ein Handgriff...

Aber zum Thema Cache, da häng ich noch ein wenig...
Wenn ich einen Neuen Block hinzufügen (HTML),
diesen kann man ja nicht cachen, wird der dann bei jedem Aufruf erneut ausgelesen???
Ist das nicht DB-Lastig?? Wenn hier 100 von Zeilen drin sind???

Oder ist das bei dem Egal, weil der cache eh html ausliefert??

Danke Gruß

P.s. @Andy, soll ich dir mal meine zwei "neuen" Blöcke senden?? Kannst ja mal drüberkucken?
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 14 November 2005, 00:26:42
hehee,
die HTML-Blöcke, werden genau wie die gecacheden Blöcke direkt in der Blocktabelle gespeichert und daraus ausgelesen. Nur werden die halt nur einmal gespeichert (im Adminmenü)
Die Menge des Inhaltes ist uninteressant, dem sql-Server sollte es egal, ob er 20 Zeichen aus einem Datenbankfeld rausholt oder 200000...

Jop, die Blöcke kannst gerne mal zusenden...
info@pragmamx.org
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 20 November 2005, 09:47:10
Moin :)

ich habe mir die Blöcke jetzt mal angesehen und bin etwas irritiert.

Welchen der beiden Blöcke cachst du, so dass das trennen des Who-Online Blocks einen Geschwindigkeitsvorteil bringt?

Du verwendest den umgebauten Block mit der zusätzlichen männlich/weiblich Anzeige. Diese zusätzliche Anzeige bewirkt, dass die kritische Datenbankabfrage gleich 2x ausgeführt wird. Also dürfte der Block noch bedeutend mehr Last erzeugen als das Original...
# Anzahl weiblicher Mitglieder ermitteln
$weiblich=0;
$qry="select COUNT(uid), MAX(uid) from ${user_prefix}_users where user_sexus=1 and user_stat=1;";
list($weiblich) = sql_fetch_row(sql_query($qry));

# Anzahl männlicher Mitglieder ermitteln
$maenlich=0;
$qry="select COUNT(uid), MAX(uid) from ${user_prefix}_users where user_sexus=2 and user_stat=1;";
list($maenlich) = sql_fetch_row(sql_query($qry));
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 22 November 2005, 01:20:12
Hi,
genau diesen Cache ich.
Den Message-Block cache ich nicht.

Wie schon erwähnt, ist sehr leihenhaft von mir gemacht!
Deshalb gibts da bestimmt was zu verbessern  ;)

Gruß
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 27 November 2005, 09:30:16
Aha, dann ist ja alles klar ;)

ZitatWie schon erwähnt, ist sehr leihenhaft von mir gemacht!
Hmmm, aber es ist nichts aussergewöhnliches zu entdecken. scheint mir alles ok zu sein in den Blöcken  :thumbup:
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 27 November 2005, 14:16:26
Hi,
ja das freut mich.
Hab aber trotzdem was gefunden:
http://www.partyblick.de/modules.php?name=Guestbook (http://www.partyblick.de/modules.php?name=Guestbook)

Tritt nur hier im Gästebuch auf????
Was könnte das sein??

Gruß
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 27 November 2005, 14:42:46
ZitatTritt nur hier im Gästebuch auf?Huh
Was könnte das sein??

öh, was denn?  ???
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 27 November 2005, 18:36:47
Ohh,
tritt nur mit Firefox auf. Beim IE ist alles klar.
Folgender Fehler:
ZitatWarning: Undefined variable: thisfile in /home/partyblick.de/atze/dlg/html/blocks/block-message.php on line 161

Warning: Undefined variable: member_online_num in /home/partyblick.de/atze/dlg/html/blocks/block-message.php on line 177

Warning: Undefined variable: thisfile in /home/partyblick.de/atze/dlg/html/blocks/block-message.php on line 247

Gruß

Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Andi am 27 November 2005, 22:48:19
Ahhh, das siehst du nur als Admin ;)

Hast bisserl zuviel auskommentiert ;)
ziemlich oben, diese Zeile wieder reinnehmen:
$thisfile=basename(__file__);


Und Zeile 177 & 192 auch auskommentieren...
if($member_online_num>0){
}
Titel: Re: Caching Blöcke ->> 1min ?
Beitrag von: Atze am 27 November 2005, 23:23:28
Korrekt, klappt!  :thumbup: :thumbup:

Danke Gruß