Die Datenbanktabelle „oxlogs“ sinnvoll begrenzen – OXID eShop Optimierung

//Die Datenbanktabelle „oxlogs“ sinnvoll begrenzen – OXID eShop Optimierung

Die Statistiken zum Verhalten der Besucher Ihres Oxid eShops werden in der Datenbanktabelle OXLOGS gespeichert. Sie zeichnet alles auf, was der User in Ihrem online Shop macht und klickt. Dieses Tracking stellt eine wichtige Ressource zur Auswertung und Optimierung Ihres OnlineShops dar.

Doch durch die schiere Menge an Daten, die hier gesammelt werden, verbraucht diese Datenbank entsprechend viel Speicherplatz. Daher kann es, zum Beispiel bei begrenzten Server-Kapazitäten, sinnvoll sein, die Größe der OXLOGS Datenbanktabelle zu begrenzen oder zu deaktivieren, um das gesamte System stabil zu halten. In diesem Artikel erklären wir, wie Sie in Ihrer OXLOGS Datenbanktabelle gezielt für Ordnung sorgen können. Außerdem zeigen wir, wie Sie das Logging in die OXLOGS-Tabelle komplett deaktivieren. Das ist eine sinnvolle Option, wenn Ihr Oxid Shop durch zu viele Anfragen instabil ist und sie die OXLOGS-Daten entbehren können.

Den Datenbestand in OXLOGS gezielt begrenzen

Die OXLOGS Tabelle kann man einfach ganz leeren. Doch dadurch würde man eben auch alle Informationen über das Verhalten der Nutzer verlieren. Wer an diesen Daten kein Interesse hat, fährt effizienter, indem er das Logging in die OXLOGS-Tabelle von vornherein deaktiviert (siehe unten). Weniger gravierend ist es, zum Beispiel alle Einträge zu löschen, die älter als ein Jahr sind. Diesen Datenbestand ermitteln Sie durch

SELECT * FROM `oxlogs` WHERE `OXTIME` <= DATE_SUB(SYSDATE(), INTERVAL ‚1‘ YEAR) order by `OXTIME` desc

Dieselbe Auswahl löschen Sie mit

DELETE FROM `oxlogs` WHERE `OXTIME` <= DATE_SUB(SYSDATE(), INTERVAL ‚1‘ YEAR)

Dies geht vom Server, wenn man sich dort für die Datenbank anmeldet. Es ist ebenfalls möglich, den Aufzeichnungszeitraum auf ein bestimmtes Zeitintervall zu begrenzen, indem Datensätze, die ein bestimmtes Alter überschreiten, automatisch gelöscht werden. Falls Sie eine solche Anpassung wünschen, kontaktieren Sie uns einfach kostenlos und unverbindlich.

Das Logging in die OXLOGS-Tabelle deaktivieren

thumb.png

Es kann vorkommen, dass zu viele gleichzeitige Anfragen ihr System am Nadelöhr OXLOGS-Aufzeichnungen blockieren. Falls Sie sich hier mehr Stabilität wünschen, ohne Ihre Kapazitäten zu erweitern, können Sie überlegen, auf die in OXLOGS gespeicherten Daten zu verzichten. Dazu überschreiben Sie die Klasse OXSHOPCONTROLL, die sich im Core-Ordner ihrer Installation befindet. Überladen Sie die darin befindliche „_log“-Methode durch eine neue Methode, die nichts tut. Und damit Sie das Logging jederzeit mit einem Mausklick ein- und ausschalten können und diese Änderung auch über Shop-Updates hinweg bestand hat, lagern Sie diese Änderung in ein eigenes Modul aus. Dazu legen Sie einen Ordner „cmdisableoxlogs“ unterhalb des /modules-Verzeichnisses an. Darin legen Sie eine Datei „metadata.php“ mit folgendem Inhalt an:

<?php
/**
 * Module information Array
 */
$aModule = array(
    'id'           => 'cmdisableoxlogs',
    'title'        => 'CM Disable oxlogs',
    'description'  => 'Deaktiviert das logging in die oxlogs-Tabelle',
    'thumbnail'    => 'thumb.png', 
    'version'      => '1.0',
    'extend'       => array(
        'oxshopcontrol' => 'cmdisableoxlogs/cmdisableoxlogs_oxshopcontrol',        
    ),
    'files' => array(                 
    ),
    'templates' => array(                                                                                    
    ),
);

Dann legen Sie in dasselbe Verzeichnis eine Datei „cmdisableoxlogs_oxshopcontrol.php“ mit folgendem Inhalt an:

<?php

class cmdisableoxlogs_oxshopcontrol extends cmdisableoxlogs_oxshopcontrol_parent {

    protected function _log( $sClass, $sFnc )
    {                      
        // We don't do anything
    }

}
Backup der oxconfig Tabelle

Backup der oxconfig Tabelle

Optional können Sie nun in das selbe Verzeichnis noch eine Grafik „thumb.png“ hochladen (siehe oben), die allerdings keinen technischen Nutzen hat.

Achtung: Erstellen Sie vorsichtshalber eine Kopie der oxconfig-Tabelle. Dies können Sie z.B. mit phpMyAdmin schreiben, in dem Sie bei der Tabelle „oxconfig“ auf der Registerkarte „Operationen“ die Option „kopieren“ wählen (Klicken Sie auf das Bild, um es zu vergrößern).

Steuerung im Backend

Nun können Sie das Modul über die Modulverwaltung ein- und ausschalten. Wenn das Modul eingeschaltet ist, ist das Logging deaktiviert. Wenn es ausgeschalten ist, so ist es aktiviert (Klicken Sie auf das Bild, um es zu vergrößern).

Fazit: Durch dieses Modul können Sie ihr System entlasten, verzichten aber auch auf gute Einblicke in das Verhalten der Besucher in Ihrem Oxid eShop. Diese bleiben Ihnen durch das etwas aufwändigere, gezielte Löschen älterer Datenbestände in OXLOGS erhalten.

2018-01-31T17:52:13+00:00 Februar 4th, 2014|Allgemein|Kommentare deaktiviert für Die Datenbanktabelle „oxlogs“ sinnvoll begrenzen – OXID eShop Optimierung