Shop erzeugt eine enorme Last auf MySQL

Hallo, lt. Aussage unseres Providers erzeugt der Shop eine enorme Last auf MySQL so dass ab und zu sogar der Server mal abschmiert. Kann man da irgendwie gegensteuern? Die Daten des Servers sind unten im Footer des Threads angegeben. Gibt es eine spezielle Konfiguration, wie der Server für Shopware konfiguriert werden muss/sollte? Falls ja, woher kann ich diese beziehen damit ich meinen Provider mit der Konfig beauftrage. Haben andere auch teilweise eine enorme Auslstung des Systems aufgrund der Version SW4.0.x? Bei Shopware 3.5 lief alles bestens. Viele Grüße Rainer

Ja, bei uns auch.

Das Problem hatte ich auch. SW4 braucht eine schnelle Datenbank, das erreichst Du nur durch viel Ram-Zuweisung an die Datenbank. Wenn Du zuviel Ram vergibst (das problem hatte ich) schmiert der Server gerne mal ab. Du solltest die Konfiguration der DB überarbeiten um das Speichermanagement zu verbessern, dann läuft das ganze stabiler. Empfehlen kann ich auch den MySQL-Tuner: allgemein-f25/performance-verbessern-bei-4-0-4-t9742-10.html?hilit=mysqltuner#p47676 (Mit bestem Dank an Benjamin Cremer), das Tool gibt dir nette Tipps zum optimieren. Gruß Micha PS: Ich hab 2.000 Kategorien und 20.000 Artikel und die Kiste läuft :slight_smile:

Hi, wenn deinem Provider die Datenbank mit Shopware abraucht, kann es einfach sein, das er zuwenig Ressourcen bereitstellt. Das passiert meistens bei günstigen Webspace Paketen, wo du dir den Server mit 100 anderen Kunden teilst. Du kannst dir auch einen Slowquery Log besorgen, dann siehst du die Queries wo zu langsam sind und kannst im Shop optimieren, wie bereits vom Vorposter angesprochen mit MySQL Tuner.

@ api Es ist ein dedizierter Server. Ein Techniker ist damit beauftrag die Konfiguration zu verbessern. Mal abwarten.

Ich sehe du verwendest Plesk, wenn das dein Shopsystem ist :wink: Plesk greift relativ tief in dein System ein, wesentlich performanter fährst du da mit LiveConfig. Bei MySQL kannst du neben dem SlowQuery Log, noch prüfen ob evtl. Percona als MySQL Server eine Alternative ist. Wenn dir die Performance dann immernoch nicht ausreicht, lass dir eine SSD mit hoher IOPS Zahl einbauen. Da reicht eine Consumer MLC, mit RAID 1 fährst du dann ganz gut. Edit: Du kannst in PHPMyAdmin auf der Status Seite sehen wo es etwas hängt, sprich wo MySQL zu langsam ist, dann gezielt die Parameter optimieren. Bei deinem Fall geh ich daher von einer nicht „so gut“ angepassten Konfiguration aus.

sieh auch im Bugtracker …

Da muß Shopware ran und das Backend mal komplett überarbeiten! Die SQL-Querries, die da abgegeben werden, sind absolut suboptimal. Warum muß der SQL-Server innerhalb einer Abfrage ständig einen TRIMM-Befehl ausfürhen? Wäre es da nicht sinnvoller den Wert zu trimmen, wenn er in die DB geschrieben wird und nicht jedes Mal, wenn er ausgelesen wird? Von solchen Dingen gibt es extrem viele im Code und da muß dringend was dagegen gemacht werden. Nur mal so zum schmunzeln. Wenn wir einen Artikel in den Warenkorb legen, dann dauert die komplette Abhandlung des SSL-Teils nur etwa 0,2 Sekunden. Dann braucht der Shop weitere 4 Sekunden um zu antworten. In der Zeit feuert er Höllenabfragen auf den SQL-Server ab. Aber warum - ein einfaches “Insert artikel Into Warenkorb” würde doch reichen und daurert normalerweise nur 0,002 Sekunden. Hier also der DRINGENDE Aufruf an die Programmierer bei Shopware - überarbeitet die SQL-Querries, damit die Shops performanter werden!

Hallo litronics2000, so wie das aussieht kommt das bei dir nicht von Shopware direkt bzw. aus dem Standard. Da muss eine Erweiterung oder Plugin aktiv sein, welches dort eingreift. Standardmäßig kann das überhaupt nicht diese Ladezeiten haben. Hast du bei uns dazu ein Ticket im Support aufgemacht? Dann prüfen wir das morgen und geben dir dann Feedback.

Habe ich vorher schon gemacht. Bin dann schon mal gespannt was dabei rauskommt.

Hallo, schaut mal das Plugin Register Spam Protection für SW4 an. Seit dem ich es deaktiviert habe, läuft der Shop wieder flüssig. In der my.cnf habe ich auch Werte geändert (erhöht). Edit: Shop schon wieder nicht erreichbar! Gruß Rainer

Wenn das an einem Plugin liegt, musst du prüfen was du als letztes installiert hast, bzw. seit wann die Probleme auftreten, ggf. hier Rollback. Dann kannst du die von mir vorgeschlagenen Lösungen eh vergessen, bin davon ausgegangen das du entsprechend Traffic auf der Seite hast. Lass dir mal den SlowQuery Log einrichten und poste was da drinnen steht, setzte den Wert vom Query auf 3 Sekunden.

Hi rascob, wir haben uns jetzt die problematischen MySQL-Queries bei dir einmal angeschaut. An der reinen Performance der Queries kann es nicht liegen, da diese bei dir schon relativ schnell ausgeführt werden. Die werden bei dir zwar von MySQL nicht richtig optimiert, dass liegt aber nur an der geringen Artikel/Kategorie-Anzahl. Das Problem ist das die Queries manchmal bei dir nicht richtig abgeschlossen werden. Siehe Anhang. Und das kommt wahrscheinlich durch eine falsche MySQL-Server Konfiguration zustande. Dazu solltest du daher einmal deinen Hoster befragen. Heiner

Vielen Dank für die Rückmeldung. Gruß Rainer

[quote=“Heiner Lohaus”]Hi rascob, wir haben uns jetzt die problematischen MySQL-Queries bei dir einmal angeschaut. An der reinen Performance der Queries kann es nicht liegen, da diese bei dir schon relativ schnell ausgeführt werden. Die werden bei dir zwar von MySQL nicht richtig optimiert, dass liegt aber nur aus der geringen Artikel/Kategorie-Anzahl. Das Problem ist das die Queries manchmal bei dir nicht richtig abgeschlossen werden. Siehe Anhang. Und das kommt wahrscheinlich durch eine falsche MySQL-Server Konfiguration zustande. Dazu solltest du daher einmal deinen Hoster befragen. Heiner[/quote] Hallo Heiner, danke für das Reinschauen - wir haben auch das Plugin von Sofortüberweisung als einen Leistungsfresser identifiziert! Das ist absolut nicht verwendbar und nachdem wir es deaktiviert hatten, ging es deutlich schneller. Das mit den Wenigen Produkten und Kategorien kann ich so nicht stehen lassen. Wir haben gut knapp 25.000 Artikel mit etwa 1500 Kategorien im Shop - das ist keine kleine Anzahl. Auch verstehe ich nicht, wie ein SQL-Server eine Abfrage optimieren soll? Der fürht lediglich die Abfragen der Software aus und nimmt dafür die Indizes und Daten her, die zur Verfügung stehen. Dann wäre auch noch zu klären, warum Abfragen nicht zu ende geführt werden. Da kann doch die Konfituration (außer vielleicht ein Timeout, wenn eine Anfrage zu lange läuft) des Servers nicht’s helfen. Wenn die Anfrage keine Ergebnisse findet oder den Server in eine Schleife jagt, was soll da der Server dagegen machen? Schöne Grüße Stefan

Hi Stefan, die Antwort bezog sich auch nur auf Rainers-Problem. :wink: Soll ich mir das bei dir auch einmal anschauen? Bei dir sollten die Anfragen natürlich richtig optimiert werden. Der MySQL-Optimizer ist übrigens dafür das der Server erst die großen Tabellen und dann die kleinen / Filter-Tabellen “JOINT”. Daher hat das bei Rainer auch nicht funktioniert. Optimal wäre übrigens wenn MySQL die Tabellen so “JOINEN” würde, wie das in den Shopware-Quries vorgeben ist. Das macht aber MySQL nicht immer automatisch richtig. :frowning: Heiner

Hallo Hainer, oh sorry - da hab ich mich wohl dazwischengedrängelt. Aber ja - wenn Du Dir das mal anschauen könntest, wäre super! Schöne Grüße Stefan

@ Heiner [quote] falsche MySQL-Server Konfiguration[/quote] Habt Ihr eine MySQL Konfiguration für den Shop? Rainer

Hi, @Rainer: Nein, leider nicht. Wir haben damit auch nicht viel Erfahrung (Also Server-Konfiguration). Aber ich sehe du hast eine sehr alte MySQL-Server-Version am Laufen. Vielleicht hilft hier auch einfach ein Update auf eine neuere Version? @Stefan: Ich sehe gerade dein Shop läuft noch auf Shopware 3.5. Auch hier sollte mal ein Update auf Shopware 4 überprüft werden. Die Kategorie/Filter-Queries wurden da nämlich erheblich angepasst / verbessert und ohne Update können die auch nicht einfach eingebaut werden. Heiner