Lieber haben als hätten - auch Sinnloses

Heute bin ich bei der Analyse eines Performance-Problems auf einem Webserver auf eine interessante PHP Applikation gestoßen - ein osCommerce Shop aus dem Jahr 2002.

Dieser speichert seit Jahren alle Hostnamen die auf der Seite surfen in einer MySQL Tabelle ab. Da es sich um einen kleinen Online-Shop handelt, waren es "nur" 250.000 Reihen in dieser Tabelle. Der Primary-Key liegt auf dem Feld ID und die Tabelle heißt mnm_hosts.

crawler13.googlebot.com => 1299
crawler14.googlebot.com => 1763
crawler15.googlebot.com => 586
crawler11.googlebot.com => 1292

Das ist ein echter Performance-Killer, da bei jedem Klick im Shop in der Tabelle gesucht wird ob der Hostname bereits gespeichert ist, um danach die Anzahl der Hits eins hoch zu zählen. Zusätzlich gibt es im Shop-Backend keine Möglichkeit diese Tabelle sinnvoll zu bereinigen, da keine Daten gespeichert werden anhand welcher man z.B. alle Einträge älter als x Wochen löschen könnte :(

Schreibe einen Kommentar