Datenbank bläht sich auf

  • Hallo liebe Gemeinde,


    seit geraumer Zeit treibt mich ein Problem um, dass sich bei zwei meiner Webseiten blähen sich ein paar Tabellen innerhalb der Datenbank sukzessive auf. Gemein haben beide Seiten, dass sie relativ viele Funktionen = Komponenten o.ä. beinhalten und beide von Joomla 2.5 auf 3 migriert wurden. Durch meine Recherche konnte ich die "Schuldigen" finden. Im Wesentlichen kommen da 3 Ursachen raus:

    1. Suchfunktion (Tabellen "präfix_finder_terms", "_finder_links", "_finder_links_termsX" wobei X als Platzhalter für Ziffern steht):
      offenbar bläht das Indizieren der Seite oder das Sammeln der Suchergebnisse diverse Tabellen auf. Derer gibt es mehrere und fast alle liegen im MB-Bereich. Die größte hat aktuell 26 MB. Ich habe in der Komponente "Suche" bereits die Suchergebnisse zurückgesetzt, was aber keine Verbesserung brachte.
    2. Redirect (Tabelle "präfix_redirect_links"):
      Das Plugin dazu habe ich aktiviert, aber nicht wirklich etwas eingetragen. Nach meinem Verständnis werden dort aber "tote Verweise" gesammelt und auf aktuelle Adressen umgeleitet. Als ich hier in die Tabelle geschaut habe, fand ich auch diverse Einträge wie "http://meinedomain.de//images/3xp.php" oder "http://meinedomain.de/blog/wp-login.php" in verschiedensten Ausprägungen. Sind das Relikte eines Hackversuches? "http://meinedomain.de/wp-login.php" hat 414 hits.
    3. Banner (Tabelle "präfix_banner_tracks"):
      aktuell 545.279 Datensätze bei 52 MB. So wie ich das verstanden habe, werden hier die Banneraufrufe gezählt/summiert. Die Tabelle könnte auch problemlos geleert werden. Allerdings sind auf der Webseite Banner enthalten. Ob die Anzahl der Klicks aktuell für eine Abrechnung verwendet wird, kann ich (noch) nicht sagen.

    Welche Fragen habe ich nun?

    1. Was konkrekt sind die Ursachen für das Aufblähen?
    2. Welche Funktionen haben die verursachenden Plugins oder Komponenten
    3. Wie kann ich das Aufblähen künftig verhindern?
    4. Welche der Tabellen kann ich bedenkenlos leeren bzw. wie erkenne ich Tabellen, die ich bedenkenlos leeren kann?

    Herzlichen Dank an alle, die sich die Zeit nehmen das zu lesen und mir (versuchen wollen zu) helfen.


    Grüße


    Systeminfos:

    Joomla Version = 3.9.24

    PHP = 7.4.14

    1. Redirect (Tabelle "präfix_redirect_links"):
      Das Plugin dazu habe ich aktiviert, aber nicht wirklich etwas eingetragen. Nach meinem Verständnis werden dort aber "tote Verweise" gesammelt und auf aktuelle Adressen umgeleitet. Als ich hier in die Tabelle geschaut habe, fand ich auch diverse Einträge wie "http://meinedomain.de//images/3xp.php" oder "http://meinedomain.de/blog/wp-login.php" in verschiedensten Ausprägungen. Sind das Relikte eines Hackversuches? "http://meinedomain.de/wp-login.php" hat 414 hits.

    Hallo Seppo,


    hast Du mal per FTP nachgesehen, ob es diese Dateien auch in deinen Ordnern gibt? Nutzt Du eventuell noch Acymailing in der Version 5?

  • Redirect (Tabelle "präfix_redirect_links"):

    Das ist das Plugin für die Umleitungen. In dem Plugin kannst Du einstellen ob die Links gesammelt werden sollen oder nicht. Wenn sie gesammelt werden, dann werden sie in die Tabelle geschrieben.


    Ich habe es testweise kurzzeitig bei mir auch mal laufen lassen und habe die gleichen Anfragen wie "http://meinedomain.de/wp-login.php" oder all mögliche Formen von "datenbank.php", "config.php" usw. Ich vermute dass es irgendwelche versuche sind, um auf irgendeiner Art an Informationen zu kommen. Da es diese Dateien nicht gibt, werden sie auf 404-Fehler geleitet.

    Ich würde das Sammeln der Links deaktivieren und nicht benötigte Links in der Komponente "Umleitungen" löschen.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Ich habe in der Komponente "Suche" bereits die Suchergebnisse zurückgesetzt, was aber keine Verbesserung brachte.

    Ist nicht die Komponente Suche (com_search), sondern die Suchindex (com_finder). Hängt davon ab, ob sie im Frontend überhaupt verwendet wird (Komponente = Menüeintrag oder Modul). Wenn nein, lösche den Suchindex im Backend und deaktiviere dann alle Erweiterungen die du zu Suchindex unter Erweiterungen > Verwalten findest.


    Das Ding ist und bleibt ein Monster (zumindest in Joomla 3) und ist viel zu schwierig zu konfigurieren, wenn man den Besuchern wirklich einen Mehrwert bieten möchte. Es findet nämlich längst nicht alles, was der Besucher erwarten könnte. Das hat wohl was mit diesem schrägen "Wortstamm-Stemming" zu tun. Und einen deutschen Stemmer gibt es bisher in Joomla nicht.


    In Joomla 4 ist das angeblich besser geworden, das mit dem Finden, sagt firstlady . Ob auch das "Datenbanken-Bombing"? Oder Stemming-Gedöns? Keine Ahnung.


    Auf kleinen Seiten reicht com_search vollkommen. EDIT: Oder gleich eine seitenspezifische CSE (Custom Search Engine) von Google, wenn man mit der üblichen Werbung in den Suchergebnissen leben mag.


    Siehe z.B. aktuell zu Suchindex von Elfangor93https://github.com/joomla/joomla-cms/issues/32186

  • Zitat

    Ich habe es testweise kurzzeitig bei mir auch mal laufen lassen und habe die gleichen Anfragen wie "http://meinedomain.de/wp-login.php" oder all mögliche Formen von "datenbank.php", "config.php" usw. Ich vermute dass es irgendwelche versuche sind, um auf irgendeiner Art an Informationen zu kommen. Da es diese Dateien nicht gibt, werden sie auf 404-Fehler geleitet.

    Es gibt im Plugin die Möglichkeit, zu definieren welche urls ausgeschlossen werden. Ich habe z.B. alles ausgeschlossen was "wp-" enthält. Das Sammeln ist aber ohnehin nur sinvoll, wenn und solange man diese Urls beobachtet. Nach einem Relaunch zum Beispiel. Oder wenn man Kategorien aufgeräumt hat.

    1. Suchfunktion (Tabellen "präfix_finder_terms", "_finder_links", "_finder_links_termsX" wobei X als Platzhalter für Ziffern steht):
      offenbar bläht das Indizieren der Seite oder das Sammeln der Suchergebnisse diverse Tabellen auf. Derer gibt es mehrere und fast alle liegen im MB-Bereich. Die größte hat aktuell 26 MB. Ich habe in der Komponente "Suche" bereits die Suchergebnisse zurückgesetzt, was aber keine Verbesserung brachte.


    Wenn du keine Auswertungen fährst:

    1. Deaktiviere die Suchstatistiken in den Optionen
    2. Leere die entsprechenden Tabellen
    3. Optional: nutze dieses Plugin: https://www.joomlager.de/de/extensions/finder (ist fast die 4.0 Version, hilft zwar nicht beim Datenvolumnen, dafür sind aber die Ergebnisse besser)
    4. Generiere den Index neu
    1. Redirect (Tabelle "präfix_redirect_links"):
      Das Plugin dazu habe ich aktiviert, aber nicht wirklich etwas eingetragen. Nach meinem Verständnis werden dort aber "tote Verweise" gesammelt und auf aktuelle Adressen umgeleitet. Als ich hier in die Tabelle geschaut habe, fand ich auch diverse Einträge wie "http://meinedomain.de//images/3xp.php" oder "http://meinedomain.de/blog/wp-login.php" in verschiedensten Ausprägungen. Sind das Relikte eines Hackversuches? "http://meinedomain.de/wp-login.php" hat 414 hits.

    Deaktiviere das Redirect Plugin und lösche alle nicht veröffentlichten Einträge. Da du es scheinbar nicht nutzt, braucht es das Sammeln nicht.


    1. Banner (Tabelle "präfix_banner_tracks"):
      aktuell 545.279 Datensätze bei 52 MB. So wie ich das verstanden habe, werden hier die Banneraufrufe gezählt/summiert. Die Tabelle könnte auch problemlos geleert werden. Allerdings sind auf der Webseite Banner enthalten. Ob die Anzahl der Klicks aktuell für eine Abrechnung verwendet wird, kann ich (noch) nicht sagen.

    Deaktiviere "Track Impressions" (keine Ahnung was das in deutsch heißt) in den Banner Optionen und leere die Tabelle wenn nicht benötigt. Wenn du sauberes Caching etc. aktiviert hast, ist der Zähler eh nicht sehr zuverlässig und es sollte anders getrackt werden.


    Auf kleinen Seiten reicht com_search vollkommen. EDIT: Oder gleich eine seitenspezifische CSE (Custom Search Engine) von Google, wenn man mit der üblichen Werbung in den Suchergebnissen leben mag.

    Das sind halt Welten zwischen einer (sauber konfigurierten) Smart Search (Finder) und einer normalen Suche. Das hat weniger was mit kleiner oder großer Seite zu tun sondern mehr was für eine Qualität an Suchergebnisse man haben will.

  • Smart Search gehört einfach entkoppelt und hat im Joomla-Core nichts zu suchen.


    Auf einer kleineren Seite habe ich pro Begriff eine überschaubare Menge an matchendenTreffern. Smart Search vollkommen unnötig. Ich habe noch nie was von "Meinten Sie vielleicht..."-Funktionalitäten gehalten, während das, was ich ins Suchfeld eingebe, ignoriert wird.


    Die Grundeinstellungen von Suchindex sind "viel Unsinn anzeigen und/oder nichts finden". Nicht sinnvoll "aus der Dose" zu verwenden und die meisten Seitenbetreiber merken das noch nicht mal.


    Die Konfiguration plus Beschreibungen sind selbst für geübte Anwender ?????? Da lässt sich leichter ein Lucene/Nutch-System einrichten ;)


    Ich bleibe also bei meinen Statements.

  • Hallo Seppo,


    hast Du mal per FTP nachgesehen, ob es diese Dateien auch in deinen Ordnern gibt? Nutzt Du eventuell noch Acymailing in der Version 5?

    Hallo Faro, die Dateien gibt es nicht. Daher komme ich ja drauf, dass es ein Versuch ist die Seite zu hacken, weil man so einen Login aufrufen könnte.


    Was Acymailing angeht hast Du Recht. Ich habe (leider) zwei Versionen laufen, 5 und 7. Das ist im Moment noch aus der Not geboren, weil es mir beim Deinstallieren der 5er Version die ganze Seite zerschossen hatte. Ich bekam nur noch eine Fehlermeldung.


    Die Deinstallation will ich erst lokal mit einem Backup testen, hatte aber noch keine Zeit dazu.


    Leider wurde ich über Eure Antworten nicht automatisch informiert, daher erst jetzt eine Rückmeldung.

    Danke vielmals für die Tipps und Vorschläge! Ich werde sie nun nach und nach ausprobieren.

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von Seppo mit diesem Beitrag zusammengefügt.

  • Was Acymailing angeht hast Du Recht. Ich habe (leider) zwei Versionen laufen, 5 und 7. Das ist im Moment noch aus der Not geboren, weil es mir beim Deinstallieren der 5er Version die ganze Seite zerschossen hatte. Ich bekam nur noch eine Fehlermeldung.


    Die Deinstallation will ich erst lokal mit einem Backup testen, hatte aber noch keine Zeit dazu

    Bei mir lag es tatsächlich am Anmeldemodul der 5er Version. Ich habe mir damals hier über das Forum professionelle Hilfe gesucht.

    Nach auswertung der Serverlogs wurde über das Anmeldemodul (trotz Deaktivierung) versucht, Spam zu versenden. Allein meine Session- Tabelle in der DB war 70 MB groß, um nur ein Problem zu nennen.


    Was genau das Problem war, konnte bis heute nicht genau geklärt werden. Natürlich waren Joomla und alle Erweiterungen bei mir aktuell. Erst nach kompletter Deinstallation der 5er Version und der dazugehörigen Datenbanktabellen war Ruhe im Schiff.


    P.S. Die 5er Version wurde von Acy nach 2017 nicht wiklich mehr groß angefasst. Schon damals arbeitete man händeringend an der 6er Version. Vielleicht war das ja das Problem!


    Bei der Deinstallation musst Du die genaue Reihenfolge beachten. Zuerst die Komponente, dann das Modul und zum schluss alle dazugehörigen Plugins. Danach kannst Du die DB- Tabellen löchen.


    Aber so wie bei mir ist jede Installation anders. Daher zuerst ein Backup vom System und der DB machen. Zudem Teste ich solche Art von Deinstallationen vorest auf einer exakten Spiegelung meines Systems.

  • Danke für den Tipp zur Reihenfolge der Installation, vielleicht lag es das letzte mal daran. Da hab ich stur alles zu "Acy" gesucht, angehakt und deinstalliert.


    Backups sind Pflicht, erst Recht vor großen Veränderungen. Ich halte das ebenso und ziehe eine Spiegelung lokal. Nach erfolgreichem Test mit XAMPP ist erst das Produktivsystem dran.
    Ich brauche die Komponente eh nicht mehr, daher werde ich auch keine Probleme mit den DB-Tabellen und den unterschiedlichen Versionen haben.

  • ... fand ich auch diverse Einträge wie "http://meinedomain.de//images/3xp.php" oder "http://meinedomain.de/blog/wp-login.php" in verschiedensten Ausprägungen. Sind das Relikte eines Hackversuches? "http://meinedomain.de/wp-login.php" hat 414 hits.


    Siehe z.B. auch:


    https://www.joomla.de/wissen/j…1x1-der-joomla-sicherheit


    aus:


    https://www.joomla.de/wissen/joomla-event-videos