Neu Managed Server bei hetzner läuft an der Leistungsgrenze wegen dieser Query

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
Hallo Community, wir haben hier einen Man. Server bei hetzner (MX90) der schon recht OK ist, so mit 16 GB RAM und i7 2600 Quadcore. Trotzdem reagiert der Server manchmal erst nach 8-10 sek. Laut Support haben wir hier eine SQL Anweisung, die bringt alle Kerne auf 100% und dann geht nichts mehr. Es ist immer diesselbe. Und zwar die hier:

Code:
SELECT merkmalartikel.kArtikel, merkmalartikel.kVaterArtikel
                    FROM (
                        SELECT DISTINCT tartikelmerkmal.kArtikel, tartikel.kVaterArtikel,
                            tartikelmerkmal.kMerkmal, tartikelmerkmal.kMerkmalWert
                        FROM tartikelmerkmal
                        JOIN tartikel ON tartikel.kArtikel = tartikelmerkmal.kArtikel
                            AND tartikel.kVaterArtikel != 15336
                            AND (tartikel.nIstVater = 1 OR tartikel.kEigenschaftKombi = 0)
                        LEFT JOIN tartikelsichtbarkeit
                            ON tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
                            AND tartikelsichtbarkeit.kKundengruppe = 5
                        WHERE tartikelsichtbarkeit.kArtikel IS NULL
                            AND tartikelmerkmal.kArtikel != 15336


                    ) AS merkmalartikel
                    JOIN tartikelmerkmal similarMerkmal
                        ON similarMerkmal.kArtikel = 15336
                        AND similarMerkmal.kMerkmal = merkmalartikel.kMerkmal
                        AND similarMerkmal.kMerkmalWert = merkmalartikel.kMerkmalWert
                    GROUP BY merkmalartikel.kArtikel
                    ORDER BY COUNT(similarMerkmal.kMerkmal) DESC
                 LIMIT 3

"tartikelmerkmal" hat ca. 155 000 Einträge. Könnte das ein Problem sein?
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.789
316
Düsseldorf
Setzt mal ein EXPLAIN vor das SQL und führe die Anfrage mal über phpMyAdmin o.ä. aus. Dann bekommst Du einen Hinweis, wie viele Zeilen durchsucht werden müssen, welche Inidizes verwendet werden können, usw.

(OT: Das Denglisch im JTL-Code finde ich immer wieder sehr befremdlich: "similarMerkmal")
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
die abfrage befindet sich in der "\includes\artikel_inc.php" - je nach version in zeile 1000+ bis 1100+ und fängt an mit

Code:
$oArtikelMerkmal_arr = Shop::DB()->query(
SELECT merkmalartikel.kArtikel, merkmalartikel.kVaterArtikel
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.789
316
Düsseldorf
Naja, zuerst wird die innere Abfrage (ID 2) ausgeführt und auf dem Ergebnis wird dann die äußere Abfrage (ID 1) ausgeführt. Für die das Ergebnis der inneren Abfrage existiert dann aber kein Index, was sich dann aber schmerzlich bei dem Group By und Order By bemerkbar macht.

Hier ist ein ähnliches Problem beschrieben:
https://stackoverflow.com/questions/16018839/select-distinct-statement-in-mysql-is-taking-10-minutes

Ich würde dazu ein Ticket bei JTL aufmachen, da mit sich dort ein Datenbank-Spezialist mal die Abfrage unter Berücksichtigung solcher Tabellengrößen anschaut.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Hallo,

bitte setze einmal im PhpMyAdmin die beiden Befehle
SQL:
ANALYZE TABLE tartikel;
ANALYZE TABLE tartikelmerkmal;
ab. MySQL hat manchmal Probleme mit der automatischen Aktualisierung der Tabellenstatistiken und wählt dann ungünstige (nicht zur Anzahl der Datensätze passende) Ausführungspfade für bestimmte Abfragen.
Vergleiche dann mal die Laufzeiten vor und nach der Analyse und poste bitte das EXPLAIN-Ergebnis.
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
geht zur zeit nicht.

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems.


fakt ist: der artikel im bsp ganz oben (mit der ID 15336) hat kVaterArtikel - ID 8353. und alleine unter der 8353 finden sich 264 variantionskombis. das kann bei möbeln absolut vorkommen. ich denke, man kann das dann nicht mit vari-kombis lösen oder?
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
update: da wir nun wussten, das es zu 100% an den variantionskombis liegen muss, haben wir alle neuen gelöscht, alle prozesse beendet und der shop rennt nun wieder. ist natürlich keine lösung. wir hoffen auf einen anruf. nur mal so am rande. 600 EUR für telefonsupport ist natürlich eine frechheit. wir werden sehen.
 
Ähnliche Themen
Titel Forum Antworten Datum
JTL Worker startet den REST API Server nicht mit JTL-Wawi 1.9 0
Neu Biete: Windows Server optimiert für JTL und MS SQL Standard Lizenz (8 Monate alt, 42% unter Neupreis) Dienstleistung, Jobs und Ähnliches 0
Neu PHP - MySQL Konfiguration am Server für JTL Shop 5 Allgemeine Fragen zu JTL-Shop 1
Neu JTL ShippingLabels Server nicht erreichbar (26.11.24 - 9:35) JTL-ShippingLabels - Fehler und Bugs 7
Neu Keien Verbindung zum Server Installation von JTL-Wawi 3
Gelöst Probeme WaWi mit POS verbinden - failed to connect - server IP 127.0.0.1 Einrichtung / Updates von JTL-POS 2
Neu Sinnvollste Lösung - eigenen "Server" oder doch Cloud? Installation von JTL-Wawi 7
Neu Server-Logfile-Einträge /io Betrieb / Pflege von JTL-Shop 2
JTL-Search - Hardwarestörung auf einem der Search-Server (s7) Störungsmeldungen 1
Neu SQL Server kein Mandant auswählbar und Dienst lässt sich nicht starten Installation von JTL-Wawi 2
Neu SQL DB läuft mit Fehler voll und crasht Server JTL-Shop - Fehler und Bugs 1
Neu Server gelöscht User helfen Usern - Fragen zu JTL-Wawi 2
Neu Anfägerfragen und Installtion auf ngix server Installation / Updates von JTL-Shop 13
Neu Fehlermeldung: Fehler bei der Kommunikation mit dem eA-Server eBay-Anbindung - Fehler und Bugs 3
JTL-Datenbankverwaltung keine Anmeldung am Server - Neuinstallation - Win 10 / Win 11 JTL-Wawi 1.9 4
Neu Transportversicherung B2B bei Ausliefern/Rechnung Problem User helfen Usern - Fragen zu JTL-Wawi 0
Neu Stücklistenkomponente bei Stückliste teilbar auf Druckvorlage Lieferschein korrekt ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Merkmal in Artikelliste ausgeben bei entsprechendem Artikel ausgeben Allgemeine Fragen zu JTL-Shop 0
Neu Ebay - Grundpreisanzeige bei Variatonen eBay-Anbindung - Fehler und Bugs 2
Neu Dringlich: Angeblich falsche Preise bei Google Shopping Allgemeine Fragen zu JTL-Shop 0
Neu Shared Key / Shared Secret bei EPSON-TSE über Bondrucker Allgemeine Fragen zu JTL-POS 0
Neu Workflow funktioniert bei Unicorn 2 Bestellungen nicht JTL-Workflows - Fehler und Bugs 3
Neu Probleme mit Rabatten bei Umstellung auf JTL POS JTL-POS - Fehler und Bugs 0
Neu Bei Änderung eines via LS-Pos erstellten Auftrages springt Zahlungsart auf bar User helfen Usern - Fragen zu JTL-Wawi 0
Neu Artikel bei Amazon neu Listen mit "Neuer" ASIN Amazon-Lister - Ideen, Lob und Kritik 0
Neu Kann kein Bilder bei Variationen hinterlegen JTL-Wawi - Fehler und Bugs 1
Neu Manuelle Gewichtseingabe bei "Auftrag verpacken" Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Beantwortet Abfrage liefert nur Ergebnis bei exakt einem Result Eigene Übersichten in der JTL-Wawi 1
Neu Probleme bei Shopverlinkung WooCommerce-Connector 3
Neu Feld "priceCurrency" doppelt bei Vaterartikeln (Kategorie) JTL-Shop - Fehler und Bugs 0
DHL Label oberhalb des Routingcode komplett schwarz/ bei manuellem Nachdruck alles ok JTL-Wawi 1.9 4
Neu Reihenfolge Kartonage bei Auftrag verpacken Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Seit Update auf 1.9.6.5 Fehler bei Bestellabschluss, aber Bestellung geht ein JTL-Wawi 1.9 7
Neu Wechsel von CFE Shop ( Hosting bei JTL) zu SE Installation / Updates von JTL-Shop 5
Amazon Lister Problem bei der Erstellung von Varianten-Produkten JTL-Wawi 1.9 0
Neu Falsche URLs in Sitemap für englischen Seiten bei "Routing-Schema: Mit Locale" JTL-Shop - Fehler und Bugs 0
Neu Ausdrucken von Druckvorlagen bei Lieferscheinerstellung Arbeitsabläufe in JTL-Wawi 4
Neu Funktionsattribute werden nicht übertragen oder überschrieben bei Änderungen Shopware-Connector 0
Neu Preise ändern bei laufenden eBay Angeboten per Ameise eBay-Anbindung - Fehler und Bugs 5
Neu Workflow: Auftragsfarbe bei Fehlbestand ändern User helfen Usern - Fragen zu JTL-Wawi 1
Neu Hilfe bei korrekter Variable für Umsatzsteuer-Summe und dotLiquid-Übersicht Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
SQL Abfrage bei Workflow Datei Schreibn JTL-Wawi 1.9 1
Neu brauche Hilfe bei Erweiterte-Eigenschaften bearbeiten User helfen Usern - Fragen zu JTL-Wawi 4
Rechnungen werden nicht bei Amazon hochgeladen JTL-Wawi 1.9 3
Neu Artikelhistorie bei Streckenlieferungen (Drop-Shipping) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Amazon - Änderung bei Versand in die Schweiz - Änderungen notwendig ?! Amazon-Anbindung - Ideen, Lob und Kritik 8
Neu Fehler bei Rückbuchung nach Storno JTL-Wawi - Fehler und Bugs 0
Neu Störung bei DHL? Einrichtung und Installation von JTL-eazyAuction 2
Neu GPSR Plugin wird nicht bei allen Artikeln angezeigt Plugins für JTL-Shop 18
Beantwortet Worklfow Aufträge-Ausgeliefert oder Ausfträge-Geändert werden bei Auslieferung nicht gestartet JTL-Workflows - Ideen, Lob und Kritik 2

Ähnliche Themen