Performance Probleme wegen zu vielen Datenbankabfragen

Hallo zusammen,

in letzter Zeit habe ich Performanceprobleme bekommen und im MySql Log rausgefunden, dass Shopware pro Minute etwa 1000 Request abgibt, ohne dass jemand auf der Seite ist.
Ich würde gerne rausbekommen, was Shopware da macht und wie ich das verhindern kann. Also welche Funktion löst die Abfragen aus.
Vielleicht kennt jemand das Problem oder es muss sogar so sein.

Etwa alle 2-7 Sek werden immer ähnliche Sequenzen von etwa 90 Abfragen durchgeführt. Alle kann ich nicht posten, aber kann sie gerne bei Bedarf zuschicken.
Hier mal die ersten Request, die immer gleich sind.

SELECT name FROM s_core_plugins
            WHERE namespace LIKE “ShopwarePlugins” AND active = 1 AND installation_date IS NOT NULL
SELECT name,id, name, label, description, source, active, installation_date as installationDate, update_date as updateDate, version
            FROM s_core_plugins
            WHERE namespace=‘Core’
SELECT ce.subscribe as name,ce.listener, ce.position  cp.name as plugin
             FROM s_core_subscribes ce JOIN s_core_plugins cp ON cp.id=ce.pluginID AND cp.active=1 AND cp.namespace=‘Core’
             WHERE ce.type=0 ORDER BY name, position
SELECT name, id, name, label, description, source, active, installation_date as installationDate, update_date as updateDate, version
            FROM s_core_plugins  WHERE namespace=‘Frontend’
SELECT ce.subscribe as name, ce.listener, ce.position, cp.name as plugin
             FROM s_core_subscribes ce JOIN s_core_plugins cp ON cp.id=ce.pluginID AND cp.active=1 AND cp.namespace=‘Frontend’
             WHERE ce.type=0 ORDER BY name, position
SELECT name, id, name, label, description, source, active, installation_date as installationDate, update_date as updateDate, version
            FROM s_core_plugins WHERE namespace=‘Backend’

 

 

Ich habe mal einen kompletten Ablauf auf dem Server hinterlegt, damit man ihn sich anschauen kann.
So ähnlich sehen alle Abläufe aus, die alle 5sek starten.
http://linksgestrickt.de/sql_log.txt

Ein Cron-Job hast du nicht zufällig aktiv, des das verursacht.

Uwe

@useg schrieb:

Ein Cron-Job hast du nicht zufällig aktiv, des das verursacht.

Uwe

Nur nachts wird ein Cronjob gestartet, die den Cache löscht, seo urls berechnet, usw.
Der läuft aber nicht lange.

Sieht eigenartig aus.

Mal alle Plugins ausgemacht?

Ja, hatte ich probiert. Hat auch nicht gehofen.

Problem besteht weiterhin. Bräuchte noch eine Idee, wer die Abfragen auslöst.

Hast Du mal ins Access-Log geschaut? Man kann den Shopware-Cron ja auch per URL aufrufen, evtl. macht sich da jemand einen Spaß, indem er Deine Seite mit entsprechenden Anfragen traktiert (oder irgendein Skript hat sich „festgelaufen“, etc.).

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

Danke für die Ideen, aber daran sollte es nicht liegen.

Von außen greift keiner auf die Seite zu und der cronjob per URL ist zumindestens per key gesichert.

Aber wie wurde ich rausbekommen, ob sich ein Skript festgelaufen hat?
Meine Hoffnung war, dass jemand die SQL Abfragen zuordnen kann und man damit wüßte welches Code ausgeführt wird.

Prüfe mal Dein Access-Log nach verdächtigen Mustern (ob es z.B. eine bestimmte IP gibt, die quasi im Sekundentakt Deinen Shop aufruft, ob es bestimmte URLs gibt, die immer und immer wieder aufgerufen werden, etc.).

Wenn Du Zugriff auf die Kommandozeile hast, kannst Du auch mit Tools wie „top“ oder „ps“ versuchen herauszufinden, welche Prozesse gerade laufen und welche davon am meisten Performance „fressen“.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de