Zum Inhalt springen

Cache-Problem: Gigantische Typo3-Datenbank! (1,7GB Cache???)

Erstellt am 31. März 2008 · 14 Antworten · letzte Antwort am 26. September 2008

Tags: Datenbank, Cache & Performance, Frage

T3000 ·

Hallo.

Ich habe heute Morgen eine eMail von meinem Provider bekommen, das ich an die Grenze meines Speicherplatzes gekommen bin! Das hat mich enorm verwundert, da ich 2GB frei habe!

Beim nachschauen habe ich dann gesehen, das es in der Datenbank 2 riesige Tabellen gibt:
cache_hash (~98.000 Einträge): 1,4GB
cache_pages (~5.600 Einträge): 300MB

Alle anderen Tabellen bewegen sich im KB Bereich!

Habt ihr eine Ahnung woran das liegen kann? Ich meine, Typo3 nimmt die Cache-Verwaltung doch selbst vor, oder muss ich da irgendwas einstellen? Ich hab in der Hinsicht noch nichts gemacht (jedenfalls nicht bewusst).

- Ich habe Typo3 v4.5.1 (Sharedhosting, Unix)
- Anzahl der Seiten: ca. 50 (das ist ja mal nichts)
- Extensions:

  • blp_extfeuser

  • eu_birthdays

  • cal

  • cwt_community

  • sr_freecap

  • sr_feuser_register

  • ve_guestbook

  • newloginbox

  • tt_news

  • sk_simplegallery

  • asfk_usercounter

  • cwt_community_user

  • static_info_tables

  • templavoila

Bitte dringend um Hilfe wenn jemand eine Vermutung oder Testvorschläge hat! Ich leere den Cache jetzt erstmal manuell.

Vielen Dank schon mal!

PS: Nach dem Klick auf "FE-Cache löschen" im Backend hat die Datenbank nun wieder eine Größe von ~3MB!!!

T3000 ·

Hm, soetwas wie eine Insert-Sperre o.ä. habe ich nicht. Der DB-Zugriff erfolgt als root.

Ich habe jetzt erstmal etwas anderes ausprobiert und muss mal beobachten, ob das hilft. Meine Vermutung: es lag am Counter. Der verändert schließlich ständig die Seite, sodass diese evt. immer wieder neu "gecached" wird. Habe den Counter erstmal deaktiviert und muss jetzt mal abwarten, was passiert.

Wer weitere Ideen hat kann diese ja trotzdem schildern. Es scheinen nicht viele Typo3-Nutzer dieses Problem zu haben, bei Google & Co. habe ich jedenfalls nichts sinnvolles gefunden.

LittleGee ·

Also so ne Cachesperre halte ich durchaus für sinnvoll. In welchem Zeitraum wurden die Daten denn erzeugt?

Viel Erfolg 😉

T3000 ·

Seit dem Release vor ca. 1 1/2 Monaten. Also sagen wir mal 6 bis 8 Wochen. Die Webserver-Statistik spricht von 3.000-5.000 Besuchern pro Monat, also auch nicht besonders viel.

Was meinst du mit Cache-Sperre?

LittleGee ·

Naja du kannst ja eben sagen, dass die seiten nicht im Cache landen sollen unter den Seiteneigenschaften, was natürlich wieder mehr den Server belastet. Ist sicherlich auch keine Toplösung bei sovielen Besuchern.

Ich würde einfach regelmäßig den Cache löschen, alle 2-3 Tage und gut.

T3000 ·

Naja, in meinem Fall müsste ich dann den gesamten Typo-Cache ausschalten, da der Counter in der Sidebar ist, also auf jeder Seite!
Da sowas wie ein Counter eh nur ne Spielerei ist (wozu gibts Webserver-Statistiken) habe ich ihn erstmal rausgenommen. Ist ja nun nichts, was ich schmerzlich vermissen würde. Ich hoffe halt nur, das es daran tatsächlich lag, das wird sich zeigen. Ich halte euch hier auf dem laufenden^^

Das mit dem 2-3 Tage löschen ist ja auch nicht das gelbe vom Ei, man möchte ja so wenig Verwaltungsaufwand wie möglich haben 😉

LittleGee ·

Naja in dem Link oben stehen ja Tipps für Typoscript, ich empfinde das nun nicht als riesigen Verwaltungsaufwand ;-)

Aber wenn da smit dme Counter schon hilft, sollte das reichen 😉

McPringle ·
T3000 schrieb

PS: Nach dem Klick auf "FE-Cache löschen" im Backend hat die Datenbank nun wieder eine Größe von ~3MB!!!

Ein gewaltiger Unterschied! Bei meinen Typo3-Installationen habe ich per TypoScript eingestellt, dass der Cache um Mitternacht automatisch gelöscht wird (bzw. eigentlich dann beim ersten Seitenaufruf nach Mitternacht). Der Befehl dazu lautet:

config.cache_clearAtMidnight = 1

Das sollte dir auch auf jeden Fall erst mal weiter helfen.

Gruss
Marcus

T3000 ·

OK, das mit der TypoScript lösung ist natürlich gut, hab da aber noch eine Frage:
ist das denn üblich, das man die 3 Zeilen TypoScript zur Cache-Löschung in jedes seiner Typo3 Projekte schreibt? Anscheinend machen das ja eine ganze Menge Leute.
Wenn das natürlich eine Standardangabe ist wie zB "config.doctype = ..." auch, dann nehme ich es natürlich in alle meine Projekte auch mit auf. Wusste aber bisher nichts davon oder habe es übersehen. Ich dachte bisher immer, das Typo3 die Cache-Verwaltung komplett alleine macht.

T3000 ·

Hi. 1000 Dank für die Info, da wäre ich im Leben nicht drauf gekommen. Gerade gestern musste ich den Cache wieder von Hand leeren, nachdem mir mein Provider wieder eine eMail geschickt hatte, das mein 2GB Webspace bald aufgebraucht ist (DB hatte wieder an die 1,6GB)

Welchen Workaround hast du denn nun genommen? Ich habe eben für meine Cal-Teaser (der auf jeder Seite die nächsten 3 Termine anzeigt) mal folgendes gesetzt. Ich hoffe das hilft nun:

lib.calteaser = COA
lib.calteaser {
  10 < plugin.tx_cal_controller
  # Workaround für Cache-Problem: USER_INT
  10 = USER_INT
  10 {
  ...
  }
}
T3000 ·

Also ich kann dir nur von meiner Erkenntnis berichten, und die wäre:
der einen Beitrag vorher beschriebene Workaround funktioniert anscheinend super! Ich habe seit 2 Monaten den Cache nicht mehr löschen müssen und die DB hat zZ eine konstante Größe von ca. 143 MB. 8-)

T3000 ·

So, um nicht wieder einen neuen Thread zu starten, geht es hier weiter mit dem gleichen Problem. Ob ich es selbst gelöst habe weiß ich noch nicht (bzw. das wird die nächste Zeit zeigen).

Nach dem Update meiner Site von v4.1.5 auf v4.2.1 kam schon nach 1 Woche wieder eine eMail vom Provider wegen Speicherplatzüberschreitung (DB war nach 1 Woche 1,7 GB groß!!!)

Da ich nicht glaube, dass es wieder die CAL Ext. ist (die läuft ja weiterhin über USER_INT) bin ich auf der Suche über folgende Links gestolpert. Vielleicht helfen die ja dem einen oder anderen:

#68979
http://www.typo3-handbuch.de/index.php?id=164

Ich hatte zwar nicht die static_info_tables v2.0.2 sondern v2.0.6, habe nun aber trotdem mal ein Update auf v2.0.10 gemacht. Ob das Problem damit gelöst ist: wie gesagt... das wird die Zeit zeigen 😉
Wer noch eine andere Idee für mich hat: immer her damit^^