Übersicht
Der Magento eCommerce-Einkaufswagen enthält eine Protokollierungsfunktion, um Besucherinteraktionen mit Ihrem Shop aufzuzeichnen. Die meisten Shop-Inhaber verwenden jedoch Google Analytics, um Metriken zur Leistung ihres Shops zu erhalten, sodass die integrierte Protokollierung vergessen und aktiviert bleibt. Mit der Zeit wächst die Shop-Datenbank langsam und die Leistung kann sich aufgrund des Schreibens von Protokollinformationen verschlechtern.
Bei Verwendung des SSH-Zugriffs gibt es ein Befehlszeilentool, das sowohl den Status interner Protokolle meldet als auch die Möglichkeit bietet, sie zu bereinigen.
1. Melden Sie sich bei Ihrem VPS an und navigieren Sie zu Ihrem Magento-Installationsverzeichnis.
2. Wechseln Sie in das „shell“-Verzeichnis und führen Sie den Shell-Befehl „ls“ aus, Sie sollten die folgende Ausgabe erhalten:
# ls abstract.php compiler.php indexer.php log.php #
Wir können das log.php-Skript ausführen, um den Status der aufbewahrten Protokolle zu erhalten.
3. Führen Sie den "status"-Befehl wie unten gezeigt aus:
# php -f log.php status -----------------------------------+------------+------------+------------+ Table Name | Rows | Data Size | Index Size | -----------------------------------+------------+------------+------------+ log_customer | 5 | 16.38Kb | 16.38Kb | log_visitor | 978.04K | 77.19Mb | 0 b | log_visitor_info | 1.02M | 133.87Mb | 0 b | log_url | 1.11M | 50.94Mb | 47.32Mb | log_url_info | 1.12M | 189.51Mb | 0 b | log_quote | 12 | 16.38Kb | 0 b | report_viewed_product_index | 72.02K | 3.69Mb | 11.09Mb | report_compared_product_index | 651 | 81.92Kb | 212.99Kb | report_event | 81.61K | 4.73Mb | 8.99Mb | catalog_compare_item | 111 | 16.38Kb | 81.92Kb | -----------------------------------+------------+------------+------------+ Total | 4.38M | 460.06Mb | 67.72Mb | -----------------------------------+------------+------------+------------+
Einige der Protokolltabellen enthalten über eine Million Zeilen! Die Tabelle „log_url“ hat auch eine Indexdatei, sodass sie bei jedem Besuch den 47M-Index lesen und verarbeiten muss, um einen weiteren Eintrag hinzuzufügen. Wir können eindeutig etwas Datenbankspeicherplatz sparen, wodurch unser Backup kleiner und die Website reaktionsschneller wird, indem wir die Protokolleinträge aus der Datenbank entfernen.
Führen Sie den folgenden Befehl aus (die Ausführung kann eine Weile dauern):
# php -f log.php clean Log cleaned # php -f log.php status -----------------------------------+------------+------------+------------+ Table Name | Rows | Data Size | Index Size | -----------------------------------+------------+------------+------------+ log_customer | 5 | 16.38Kb | 16.38Kb | log_visitor | 270.15K | 24.18Mb | 0 b | log_visitor_info | 247.49K | 35.73Mb | 0 b | log_url | 324.66K | 16.79Mb | 17.86Mb | log_url_info | 320.23K | 58.82Mb | 0 b | log_quote | 3 | 16.38Kb | 0 b | report_viewed_product_index | 20.31K | 3.69Mb | 11.09Mb | report_compared_product_index | 743 | 49.15Kb | 81.92Kb | report_event | 22.92K | 2.11Mb | 6.47Mb | catalog_compare_item | 1 | 16.38Kb | 81.92Kb | -----------------------------------+------------+------------+------------+ Total | 1.21M | 141.43Mb | 35.60Mb | -----------------------------------+------------+------------+------------+ #
Das Skript hat jetzt über 75 % der Protokollierungszeilen entfernt. Es wird empfohlen, dass Sie dies alle paar Monate ausführen oder die Protokollierung im entsprechenden Systemverwaltungsmenü deaktivieren.