Gelöst Der erste Shopabgleich bleibt bei den Artikeln hängen

Sven555

Aktives Mitglied
12. August 2015
55
0
Hallo sehr geehrtes Support-Team,

wir haben aktuell das Problem, dass mit dem Shopware Connector 1.0.7 sich unser MySQL Server komplett aufhängt und in JTL Fehler verursacht. Die Artikelabfragen scheinen für die Übertragung zu groß zu sein (evtl. zu viele JOINS), obwohl die Datensätze in 50er Schritten eingelesen werden. Wir haben versucht die Query testweise mit LIMIT 1 auszuführen, auch diese Query killt den MySQL Server. Anbei die Query (siehe Anhang). Besteht dort die Möglichkeit die Artikeldaten evtl. in mehreren Schritten einlesen zu lassen?

Das ist eine komplett frische JTL-Wawi Installation (eigener DEMO Mandant), die Kategorien sind durch den Connector drin und wir versuchen ca. 50.000 Artikel zu importieren (Initialimport)


Vielen Dank Voraus.

Gruß Sven
 

Anhänge

  • The operation has timed out.txt
    9,8 KB · Aufrufe: 11

Daniel B.

Moderator
17. Juni 2009
1.430
40
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Hey,

ich glaube das liegt an

Code:
LEFT JOIN s_articles_attributes s9_ ON s1_.id = s9_.articleID
        AND (s9_.articledetailsID = s0_.id)

Im Product Mapper sollte der leftJoin im QueryBuilder mit

Code:
->leftJoin('article.attribute', 'attribute', \Doctrine\ORM\Query\Expr\Join::WITH, 'attribute.articleDetailId = detail.id')

drin sein. Denn dann wird es im SQL so aussehen:

Code:
LEFT JOIN s_articles_attributes s9_ ON s1_.id = s9_.articleID AND (s9_.articledetailsID = s0_.id)

Dadurch wird der Index richtig benutzt und das komplette SQL um einen großen Faktor beschleunigt.
Normalerweise sollte der Fix allerdings schon in der Version 1.0.7 enthalten sein.
 

Sven555

Aktives Mitglied
12. August 2015
55
0
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Hallo Daniel,

ich habe das mal überprüft, das ist da aktuell schon so drin bzw. ist jetzt aktuell kein Unterscheid zu sehen. Besteht die Möglichkeit irgendwie an die Queries ranzukommen um diese zu editieren?

Gruß
Sven.
 

Daniel B.

Moderator
17. Juni 2009
1.430
40
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Hey,

normal sollte dann aber dein SQL anders aussehen. Vielleicht liegt es am Shopware Doctrine Cache, dass noch das alte SQL aufgelöst wird.
Bitte einmal den Shopware Cache leeren.

Könntest du mal mein SQL ausführen um zu sehen, ob dies schneller läuft? (via phpMyadmin oder MySql Client).

Code:
SELECT s0_.id AS id0,
    s0_.articleID AS articleID1,
    s0_.unitID AS unitID2,
    s0_.ordernumber AS ordernumber3,
    s0_.suppliernumber AS suppliernumber4,
    s0_.kind AS kind5,
    s0_.additionaltext AS additionaltext6,
    s0_.active AS active7,
    s0_.instock AS instock8,
    s0_.stockmin AS stockmin9,
    s0_.weight AS weight10,
    s0_.width AS width11,
    s0_.length AS length12,
    s0_.height AS height13,
    s0_.ean AS ean14,
    s0_.position AS position15,
    s0_.minpurchase AS minpurchase16,
    s0_.purchasesteps AS purchasesteps17,
    s0_.maxpurchase AS maxpurchase18,
    s0_.purchaseunit AS purchaseunit19,
    s0_.referenceunit AS referenceunit20,
    s0_.packunit AS packunit21,
    s0_.shippingfree AS shippingfree22,
    s0_.releasedate AS releasedate23,
    s0_.shippingtime AS shippingtime24,
    s1_.id AS id25,
    s1_.main_detail_id AS main_detail_id26,
    s1_.supplierID AS supplierID27,
    s1_.taxID AS taxID28,
    s1_.pricegroupID AS pricegroupID29,
    s1_.filtergroupID AS filtergroupID30,
    s1_.configurator_set_id AS configurator_set_id31,
    s1_.name AS name32,
    s1_.description AS description33,
    s1_.description_long AS description_long34,
    s1_.datum AS datum35,
    s1_.active AS active36,
    s1_.pseudosales AS pseudosales37,
    s1_.topseller AS topseller38,
    s1_.keywords AS keywords39,
    s1_.metaTitle AS metaTitle40,
    s1_.changetime AS changetime41,
    s1_.pricegroupActive AS pricegroupActive42,
    s1_.laststock AS laststock43,
    s1_.crossbundlelook AS crossbundlelook44,
    s1_.notification AS notification45,
    s1_.template AS template46,
    s1_.mode AS mode47,
    s1_.available_from AS available_from48,
    s1_.available_to AS available_to49,
    s2_.id AS id50,
    s2_.articleID AS articleID51,
    s2_.articledetailsID AS articledetailsID52,
    s2_.pricegroup AS pricegroup53,
    s2_.`from` AS from54,
    s2_.`to` AS to55,
    s2_.price AS price56,
    s2_.pseudoprice AS pseudoprice57,
    s2_.baseprice AS baseprice58,
    s2_.percent AS percent59,
    s3_.id AS id60,
    s3_.unit AS unit61,
    s3_.description AS description62,
    s4_.id AS id63,
    s4_.tax AS tax64,
    s4_.description AS description65,
    s5_.id AS id66,
    s5_.parent AS parent67,
    s5_.description AS description68,
    s5_.position AS position69,
    s5_.metakeywords AS metakeywords70,
    s5_.metadescription AS metadescription71,
    s5_.cmsheadline AS cmsheadline72,
    s5_.cmstext AS cmstext73,
    s5_.active AS active74,
    s5_.template AS template75,
    s5_.blog AS blog76,
    s5_.path AS path77,
    s5_.showfiltergroups AS showfiltergroups78,
    s5_.external AS external79,
    s5_.hidefilter AS hidefilter80,
    s5_.hidetop AS hidetop81,
    s5_.noviewselect AS noviewselect82,
    s5_.changed AS changed83,
    s5_.added AS added84,
    s6_.id AS id85,
    s6_.articleID AS articleID86,
    s6_.unitID AS unitID87,
    s6_.ordernumber AS ordernumber88,
    s6_.suppliernumber AS suppliernumber89,
    s6_.kind AS kind90,
    s6_.additionaltext AS additionaltext91,
    s6_.active AS active92,
    s6_.instock AS instock93,
    s6_.stockmin AS stockmin94,
    s6_.weight AS weight95,
    s6_.width AS width96,
    s6_.length AS length97,
    s6_.height AS height98,
    s6_.ean AS ean99,
    s6_.position AS position100,
    s6_.minpurchase AS minpurchase101,
    s6_.purchasesteps AS purchasesteps102,
    s6_.maxpurchase AS maxpurchase103,
    s6_.purchaseunit AS purchaseunit104,
    s6_.referenceunit AS referenceunit105,
    s6_.packunit AS packunit106,
    s6_.shippingfree AS shippingfree107,
    s6_.releasedate AS releasedate108,
    s6_.shippingtime AS shippingtime109,
    s7_.id AS id110,
    s7_.articleID AS articleID111,
    s7_.articledetailsID AS articledetailsID112,
    s7_.pricegroup AS pricegroup113,
    s7_.`from` AS from114,
    s7_.`to` AS to115,
    s7_.price AS price116,
    s7_.pseudoprice AS pseudoprice117,
    s7_.baseprice AS baseprice118,
    s7_.percent AS percent119,
    s8_.id AS id120,
    s8_.articleID AS articleID121,
    s8_.description AS description122,
    s8_.link AS link123,
    s8_.target AS target124,
    s9_.id AS id125,
    s9_.articleID AS articleID126,
    s9_.articledetailsID AS articledetailsID127,
    s9_.attr1 AS attr1128,
    s9_.attr2 AS attr2129,
    s9_.attr3 AS attr3130,
    s9_.attr4 AS attr4131,
    s9_.attr5 AS attr5132,
    s9_.attr6 AS attr6133,
    s9_.attr7 AS attr7134,
    s9_.attr8 AS attr8135,
    s9_.attr9 AS attr9136,
    s9_.attr10 AS attr10137,
    s9_.attr11 AS attr11138,
    s9_.attr12 AS attr12139,
    s9_.attr13 AS attr13140,
    s9_.attr14 AS attr14141,
    s9_.attr15 AS attr15142,
    s9_.attr16 AS attr16143,
    s9_.attr17 AS attr17144,
    s9_.attr18 AS attr18145,
    s9_.attr19 AS attr19146,
    s9_.attr20 AS attr20147,
    s10_.id AS id148,
    s10_.articleID AS articleID149,
    s10_.description AS description150,
    s10_.filename AS filename151,
    s10_.size AS size152,
    s11_.id AS id153,
    s11_.name AS name154,
    s11_.img AS img155,
    s11_.link AS link156,
    s11_.description AS description157,
    s11_.meta_title AS meta_title158,
    s11_.meta_description AS meta_description159,
    s11_.meta_keywords AS meta_keywords160,
    s12_.id AS id161,
    s12_.description AS description162,
    s13_.id AS id163,
    s13_.discount AS discount164,
    s13_.discountstart AS discountstart165,
    s13_.customergroupID AS customergroupID166,
    s13_.groupID AS groupID167,
    s14_.id AS id168,
    s14_.groupkey AS groupkey169,
    s14_.description AS description170,
    s14_.tax AS tax171,
    s14_.taxinput AS taxinput172,
    s14_.mode AS mode173,
    s14_.discount AS discount174,
    s14_.minimumorder AS minimumorder175,
    s14_.minimumordersurcharge AS minimumordersurcharge176,
    s15_.id AS id177,
    s15_.group_id AS group_id178,
    s15_.name AS name179,
    s15_.position AS position180,
    s16_.id AS id181,
    s16_.name AS name182,
    s16_.position AS position183,
    s16_.comparable AS comparable184,
    s16_.sortMode AS sortMode185,
    s17_.id AS id186,
    s17_.name AS name187,
    s17_.filterable AS filterable188,
    s18_.id AS id189,
    s18_.value AS value190,
    s18_.position AS position191,
    s18_.optionID AS optionID192,
    s18_.value_numeric AS value_numeric193,
    s0_.articleID AS articleID194,
    s0_.unitID AS unitID195,
    s1_.taxID AS taxID196,
    s1_.filtergroupID AS filtergroupID197,
    s1_.supplierID AS supplierID198,
    s1_.main_detail_id AS main_detail_id199,
    s1_.pricegroupID AS pricegroupID200,
    s1_.configurator_set_id AS configurator_set_id201,
    s2_.articledetailsID AS articledetailsID202,
    s2_.pricegroup AS pricegroup203,
    s2_.articleID AS articleID204,
    s5_.parent AS parent205,
    s5_.mediaID AS mediaID206,
    s6_.articleID AS articleID207,
    s6_.unitID AS unitID208,
    s7_.articledetailsID AS articledetailsID209,
    s7_.pricegroup AS pricegroup210,
    s7_.articleID AS articleID211,
    s8_.articleID AS articleID212,
    s9_.articleID AS articleID213,
    s9_.articledetailsID AS articledetailsID214,
    s10_.articleID AS articleID215,
    s13_.groupID AS groupID216,
    s13_.customergroupID AS customergroupID217,
    s15_.group_id AS group_id218,
    s18_.optionID AS optionID219 
FROM s_articles_details s0_
LEFT JOIN jtl_connector_link_detail j19_ ON s0_.id = j19_.detail_id
LEFT JOIN s_articles s1_ ON s0_.articleID = s1_.id
LEFT JOIN s_articles_prices s2_ ON s0_.id = s2_.articledetailsID
LEFT JOIN s_core_units s3_ ON s0_.unitID = s3_.id
LEFT JOIN s_core_tax s4_ ON s1_.taxID = s4_.id
LEFT JOIN s_articles_categories s20_ ON s1_.id = s20_.articleID
LEFT JOIN s_categories s5_ ON s5_.id = s20_.categoryID
LEFT JOIN s_articles_details s6_ ON s1_.main_detail_id = s6_.id
LEFT JOIN s_articles_prices s7_ ON s6_.id = s7_.articledetailsID
LEFT JOIN s_articles_information s8_ ON s1_.id = s8_.articleID
LEFT JOIN s_articles_attributes s9_ ON s1_.id = s9_.articleID AND (s9_.articledetailsID = s0_.id)
LEFT JOIN s_articles_downloads s10_ ON s1_.id = s10_.articleID
LEFT JOIN s_articles_supplier s11_ ON s1_.supplierID = s11_.id
LEFT JOIN s_core_pricegroups s12_ ON s1_.pricegroupID = s12_.id
LEFT JOIN s_core_pricegroups_discounts s13_ ON s12_.id = s13_.groupID
LEFT JOIN s_articles_avoid_customergroups s21_ ON s1_.id = s21_.articleID
LEFT JOIN s_core_customergroups s14_ ON s14_.id = s21_.customergroupID
LEFT JOIN s_article_configurator_option_relations s22_ ON s0_.id = s22_.article_id
LEFT JOIN s_article_configurator_options s15_ ON s15_.id = s22_.option_id
LEFT JOIN s_filter s16_ ON s1_.filtergroupID = s16_.id
LEFT JOIN s_filter_relations s23_ ON s16_.id = s23_.groupID
LEFT JOIN s_filter_options s17_ ON s17_.id = s23_.optionID
LEFT JOIN s_filter_values s18_ ON s17_.id = s18_.optionID
WHERE j19_.host_id IS NULL 
ORDER BY s0_.kind ASC 
LIMIT 50 OFFSET 0
 

Sven555

Aktives Mitglied
12. August 2015
55
0
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Hi Daniel,

habe ich eben probiert, leider keine Veränderung. Cache habe ich auch schon mehrfach geleert. Ich habe jetzt testweise angefangen mal ein paar LEFT JOINS zu entfernen um zu schauen, wo es denn hängen könnte bzw. bei welcher Tabelle er zu lange braucht.
 

Sven555

Aktives Mitglied
12. August 2015
55
0
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Er scheint Probleme bei den Artikelmerkmalen zu haben. Die Tabellen s_filter, s_filter_relations, s_filter_options, s_filter_values
 

Sven555

Aktives Mitglied
12. August 2015
55
0
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

s_filter: 4 Datensätze
s_filter_relations: 25 Datensätze
s_filter_options: 10 Datensätze
s_filter_values: 128 Datensätze

aaaaber s_filter_articles: 134.394 Datensätze
 

Daniel B.

Moderator
17. Juni 2009
1.430
40
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Auf s_filter_articles machen wir aber keinen JOIN. Daran kann es nicht liegen. Schwer zu sagen.
Was für ein MySQL Fehler kommt denn? Timeout? Oder vlt. sogar ein PHP Memory Limit?
 

Sven555

Aktives Mitglied
12. August 2015
55
0
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Ein Timeout. Ich hatte das Zeitfenster mal erhöht gehabt, aber dann glüht der MySQL Server und geht vollkommen in die Knie. Ich habe jetzt mal testweise die Merkmaltabelle in bei Shopware geleert und den Abgleich angestartet. Jetzt laufen die Artikel langsam in die WaWi. Lassen sich die Merkmale evtl. in die WaWi per Ameise nach importieren, sodass diese dann an den Shop geschickt werden?
 

Sven555

Aktives Mitglied
12. August 2015
55
0
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Hallo Daniel,

vielleicht habt ihr das schon mal getestet: könnte man die Artikel, Bestellungen usw. evtl. mit Hilfe der Shopware REST API einlesen bzw. den Connector per API an Shopware andocken? (höhere Performance)
 

coarsy

Gut bekanntes Mitglied
11. Dezember 2013
511
4
Eschborn
AW: Der erste Shopabgleich bleibt bei den Artikeln hängen

Servus,

ein API Zugriff ist immer unperformanter als ein direkter Datenbankzugriff, wie es der Connector aktuell macht.
 
Ähnliche Themen
Titel Forum Antworten Datum
Fehlermeldung beim Einlesen der Buchungen in JTL Fibu JTL-Wawi 2.0 0
Neu Wird irgendwo in der Datenbank geloggt welcher WMS-Mobile Benutzer mit dem MDE-Gerät einen Auftrag, bzw. Pickliste gepickt hat? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Gibt es in der WaWi-Datenbank einen Zeitstempel, der anzeigt wann ein Kunde sich in einem bestimmten Shop registriert hat? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Amazon.com - kein Abgleich der Bestände Wawi 1.11.9 Amazon-Anbindung - Fehler und Bugs 0
Name der Versandarten wird im Auftrag sporadisch nicht mehr angezeigt (2.0.3) JTL-Wawi 2.0 2
Neu Wawi 1.11. Amazon Rechnungen (extern) in der Kundenansicht verschwunden ?! User helfen Usern - Fragen zu JTL-Wawi 2
Neu Der wahrscheinlich östlichste JTL Servicepartner: Standortvorteil, faire Preise und vieles mehr Dienstleistung, Jobs und Ähnliches 16
Neu Eigener Export - Kunden individuelle Preise + verfügbarer Bestand + VK netto der Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 6
Neu Rechnungen zeigen Paypal Text an, obwohl er in der Vorlage nicht ausgewählt ist JTL-Wawi 2.0 3
Updatezwang beim öffnen der WAWI JTL-Wawi 1.6 13
Neu Produktionsaufträge tauchen nicht in der Workbench auf JTL-Plan&Produce - Fehler und Bugs 2
Neu Ist es ohne Probleme möglich Cloudflare in der Free Version mit JTL zu nutzen? Allgemeine Fragen zu JTL-Shop 7
Neu Paypal 2.2.1; Fehler "Der Zahlungsanbieter hat eine Anmeldung gefordert" Plugins für JTL-Shop 0
Neu Sortierung der Variationswerte funktioniert nicht mehr Shopify-Connector 5
Neu Wert aus „Eigenes Feld“ eines Artikels im Lieferschein unter der Artikelbezeichnung anzeigen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
Freie Felder in der Artikelliste anzeigen JTL-Wawi 2.0 3
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu Erstellung der Sitemap bei WaWi Abgleich funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu Unterschiedliche Abnahmeintervalle von Variationskombinationen in der Warenkorbmatrix Templates für JTL-Shop 0
Neu Betrag auf der Rechnung nach Rechnungskorrektur User helfen Usern - Fragen zu JTL-Wawi 1
Neu PDF Anhänge in der Bestellbestätigung anhängen missglückt JTL-Shop - Fehler und Bugs 1
Neu Anzahl der URLs in der Sitemap ändern Allgemeine Fragen zu JTL-Shop 3
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu ⚠️📦 ACHTUNG: Abkündigung der DHL-Schnittstelle zum 15.06.2026 News, Events und Umfragen 0
Neu Telemetrie-Datenerfassung in JTL-Shop 5.7.0: Bitte um Klarstellung der DSGVO-relevanten Aspekte Allgemeine Fragen zu JTL-Shop 5
Frage zur Speicherung der Produktbilder JTL-Wawi 1.11 1
Neu Der Inhalt / Text ist verschwunden – ist das ein Fehler JTL-Shop - Fehler und Bugs 0
Plattformabgleich Shop löschen - Wo ist das in der MySQL DB? JTL-Wawi 2.0 4
Anzeige der Variantenartikel JTL-Wawi 1.11 0
Neu Workflows speichern z.B. Rechnungen nicht mehr seid der 2.01 User helfen Usern - Fragen zu JTL-Wawi 1
Neu Ein Artikel in der Kategorie Allgemeine Fragen zu JTL-Shop 5
Neu Widerrufsbutton: Jeder, der den Button betätigt, kann das Widerrufsformular ausfüllen und absenden - auch ohne Bestellung? Allgemeine Fragen zu JTL-Shop 94
Neu Komma aus Produktbezeichnung soll als Bindestrich in der URL sein Allgemeine Fragen zu JTL-Shop 1
Retouren - Bearbeitung der Adressdaten JTL-Wawi 2.0 4
Update auf Shop 5.5.0 von 5.4.1 ist der Shop nicht mehr erreichbar Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Lieferadresse in PayPal-Transaktion weicht von der in der Wawi ab Plugins für JTL-Shop 0
Häufiges Aufhängen - vermutlich Probleme mit der Datenbank JTL-Wawi 2.0 13
Neu Wichtige Info: Abkündigung der DHL-Schnittstelle zum 31.05.2026 News, Events und Umfragen 0
Neu Fehler beim Update der Datenbank von 1.11.7 auf 2.0.1 JTL-Wawi - Fehler und Bugs 7
2.0.0: Aufruf der Plattform - Logbücher führt zu Crash der Wawi JTL-Wawi 2.0 0
Neu Falsche Berechnung der Kassen im Kundencenter - Multikasse noch aktiv Smalltalk 0
Probleme bei der Verbindung zur Datenbank JTL-Wawi 2.0 12
Neu Platz der Sidebar nutzen JTL-Shop - Ideen, Lob und Kritik 0
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Shopabgleich dauert ungewöhnlich lange JTL-Wawi 1.11 0

Ähnliche Themen