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.795
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.795
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
527
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
Neu Hetzner Managed Server Allgemeine Fragen zu JTL-Shop 2
WMS Mobiler Server startet nach Update nicht mehr JTL-Wawi 1.11 12
Neu JTL-Shipping Server nicht Erreichbar JTL-ShippingLabels - Fehler und Bugs 2
Update SQL Server Management Studio JTL-Wawi 1.10 1
Neu POS Server JTL Wawi 1.10.14.0 Einrichtung / Updates von JTL-POS 1
Neu Nach Windows update auf dem Server keine Verbindung mehr zur Datenbank JTL-Wawi - Fehler und Bugs 4
Keine Verbindung zwischen Kasse und Server möglich JTL-Wawi 1.10 2
Neu Update auf Shop 5.5.3: Immer 500 Internal Server ERror JTL-Shop - Fehler und Bugs 1
Neu Server Error 500 nach dem Installieren von JTL Theme Editor Plugins für JTL-Shop 3
Neu Backup auf anderen Server umziehen Allgemeine Fragen zu JTL-Shop 0
Neu Shopupdate von 5.4.0 auf 5.5.2 Fehlercode: 500 Internal Server Error Installation / Updates von JTL-Shop 7
Neu Cloud Server Setup Einrichtung JTL-Shop5 2
500 Internal Server Error bei Statistiken/Einstiegsseiten Einrichtung JTL-Shop5 2
Neu Datenbank & Datenspeicher am Server User helfen Usern - Fragen zu JTL-Wawi 6
Neu Amazon Bestellungen werden nicht abgerufen - Fehler bei Account 'XXX' []: Ihr Account ist nicht aktiv. Amazon-Anbindung - Fehler und Bugs 0
EBICS einrichten bei Commerzbank JTL-Wawi 1.10 1
Neu Artikel mit gleichem Namen werden bei Shopify zu einem Artikel Shopify-Connector 2
Neu Keine Zahlung erforderlich bei < 1€ JTL-Shop - Fehler und Bugs 0
Neu PayPal-Plugin blockiert bei PayPal-Störung Checkout JTL-Shop - Fehler und Bugs 4
In Diskussion Etikett mit Warnung bei Versand drucken JTL-Workflows - Ideen, Lob und Kritik 9
Neu Falsche Umsatzsteuer bei Paypal-Checkout Bestellungen im Webshop JTL-Shop - Fehler und Bugs 3
1.11 mit 2 Mandanten - Dashboard bei Advanced Wawi zerschossen - JTL Start funktioniert JTL-Wawi 1.11 1
Neu Zeit bei Mahnungen Nachträglich ändern Arbeitsabläufe in JTL-Wawi 0
Neu DATEV Rechnungsdatenservice 2.0 Fehlermeldung bei der Übertragung Schnittstellen Import / Export 0
Neu Attribut bei bestimmten Artikel steuert das Erscheinen einer Checkbox vor Bestellabschluss Allgemeine Fragen zu JTL-Shop 1
Beantwortet Fehler bei Erstimport: Explicit Move is not supported for HerstellerSortMode.Alphabetical Shopware-Connector 1
Neu Heute wied kein Versand bei Amazon bestätigt und manueller Abgleich gibt Fehlermeldung aus Amazon-Anbindung - Fehler und Bugs 1
Produkt-API v4 Support bei OTTO läuft aus (10.12.2025) – Zukunft mit JTL Wawi unklar Otto.de - Anbindung (SCX) 23
Neu Bestellvorgang – Land und Postleitzahl werden nicht erkannt und HTTP-Fehler 500 bei der Lieferadresse JTL-Shop - Fehler und Bugs 11
Lieferzeit / Lieferdatum wird im Shop bei Variantenartikeln nicht angezeigt Allgemeine Fragen zu JTL-Shop 0
JTL Zahlungsabgleich Fehlermeldung bei Versuch Lieferantenrechnung zu bezahlen JTL-Wawi 1.10 4
Neu Falsche Steuer bei VCS-Lite Amazon-Anbindung - Fehler und Bugs 2
Neu Falsche Währung in VCS-Lite Rechnungsvorlage bei anderem Land für Rechnung als Lieferung, HUF statt EUR Amazon-Anbindung - Fehler und Bugs 0
Neu Wieder einmal fehlt der Adresszusatz bei Bestellungen und es kommt somit zu Problemen Amazon-Anbindung - Fehler und Bugs 0
Neu Ihr Token bei JTL-eazyAuction ist ausgelaufen - Verletzung von Nebenpflichten (Treue- und Informationspflicht) durch JTL Einrichtung und Installation von JTL-eazyAuction 4
Neu Mapping (Menge) bei einigen Artikeln wird nicht durchgeführt Shopify-Connector 12
Anhänge in JTL-Wawi bei Rechnung JTL-Wawi 1.10 0
Neu bei bestimmten Kunden muss die Rechnung beigelegt werden / wie erfolgt dies? Arbeitsabläufe in JTL-Wawi 8
Versandart falsch bei Auslandsbestellung (DHL Versenden 3.0) JTL-Wawi 1.6 0
Neu Artikelnummern bei bestehenden Artikel falsch zusammengesetzt JTL-Wawi - Fehler und Bugs 0
Bei der Länderverwaltung fehlt das Bearbeiten-Symbol Einrichtung JTL-Shop5 1
Falsche Lieferadresse bei Auftragsimport JTL-Wawi 1.9 4
Neu Preisgleichheit bei unterscheidlicher Umsatzsteuer JTL-Shop - Fehler und Bugs 12
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Neu Bei allen Artikeln aus einer Execlliste die Lieferzeiten einheitlich setzen. JTL-Wawi 1.6 4
Neu Plötzlich bei Bestellung beim Lieferanten Menge: "Error" JTL-Wawi - Fehler und Bugs 0
Neu Bei Mahnlauf automatisch speichern Arbeitsabläufe in JTL-Wawi 2
Neu Ameise -> "Artikel je Posten": bei neu = vorhanden / bei update nicht? Einrichtung und Installation von JTL-eazyAuction 0
Neu Workflow um einen Artikel bei einem bestimmten Verkaufskanal zu aktivieren oder deaktivieren User helfen Usern - Fragen zu JTL-Wawi 4
Neu Die Leiferantendaten bei Artikelstammdaten lassen sich per Ameise nicht ändern User helfen Usern - Fragen zu JTL-Wawi 6

Ähnliche Themen