Sehr langsame Abfrage beim Kategoriewechsel

Hallo,

Ich habe eine Frage, seit einiger Zeit fällt mir auf, dass das Umblättern in den Kategorien sehr lange dauert. Wenn es nicht im Cache ist, sogar bis zu 10-15 Sekunden. Ich habe dann in Mysql nach slow queries gesucht, und diese hier gefunden, die ca. 10 Sekunden dauert. Kann mir jemand sagen, ob man hieran vielleicht erkennen kann, dass ein Plugin dafür verantwortlich ist, oder ob dies die “Originalquery” ist, und tatsächlich so langsam ist? WIr haben ca. 30.000 aktive Artikel. VIelleicht gibt es ja eine Option, die ich anwählen kann, die den Select weniger umfangreich macht? Topseller rausnehmen, oder sonst etwas? Hat jemand eine Idee?

SELECT product.id as __product_id, variant.id                     as __variant_id, variant.ordernumber            as __variant_ordernumber FROM s_articles product INNER JOIN s_articles_details variant ON variant.id = product.main_detail_id
                 AND variant.active = 1
                 AND product.active = 1 INNER JOIN s_articles_categories_ro productCategory ON productCategory.articleID = product.id
            AND productCategory.categoryID IN (3) LEFT JOIN s_articles_avoid_customergroups avoidCustomerGroup ON avoidCustomerGroup.articleID = product.id
             AND avoidCustomerGroup.customerGroupId IN (15) INNER JOIN s_articles_categories similarMain ON similarMain.articleID = product.id
            AND similarMain.articleID != ‘136693’ INNER JOIN s_articles_categories similarSub ON similarSub.categoryID = similarMain.categoryID
            AND similarMain.articleID != similarSub.articleID
            AND similarSub.articleID = ‘136693’ LEFT JOIN s_articles_top_seller_ro topSeller ON topSeller.article_id = product.id INNER JOIN s_articles_attributes productAttribute ON productAttribute.articledetailsID = variant.id WHERE avoidCustomerGroup.articleID IS NULL GROUP BY product.id ORDER BY topSeller.sales ASC, variant.id ASC LIMIT 3;

 

Shopware Version? Wieviele Produkte in einer Kategorie so durchschnittlich? Tritt auch bei Kategorien auf wo beispielsweise nur 20 Artikel enthalten sind? Welche PHP und MySQL Version? Mal mit Standard Theme probiert? Tritt es bei Artikel mit vielen Varianten auf oder auch mit Artikeln ohne Varianten?

Siehe erster Satz von dir: also war es mal Problem? Was hat sich dann geändert? Irgendein Plugin installiert?

Hast Du die Datenbanktabellen schonmal optimiert (geht über phpMyAdmin z.B. ganz einfach)? Ich würde Dir empfehlen, auch mal mysqltuner auf der Kommandozeile laufen zu lassen, der gibt Dir im Optimalfal wertvolle Hinweise zur Optimierung der Datenbankkonfiguration.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

Ansonsten: was für ein Hoster und Hostingpaket? Für 30.000 Artikel braucht man schon etwas Leistung.

1 „Gefällt mir“

Hallo, wir haben eigentlich einen recht flotten Server (eigene Hardware, 8 Prozessoren). Zusätzlich zu den aktiven Artikeln haben wir noch 45000 inaktive Artikel. Aber das war ja bislang auch kein Problem. Ich vermute dass die o.g. Abfrage einfach sehr komplex ist. Aber vielleicht kann man ja in Shopware irgend etwas tun, so dass keine so komplexe Abfrage generiert wird? Das Ergebnis dieser Abfrage sind 3 Zeilen. Ich vermute damit wird ein Variantenartikel ausgewählt:

__product_id,__variant_id,__variant_ordernumber
48078,48077,AC500458697
48079,48078,AC500458698
48080,48079,AC500458699

 

Betriebssystem Debian 8.11

Wir haben folgende Mysql-Version:
mysql  Ver 15.1 Distrib 10.0.38-MariaDB, for debian-linux-gnu (x86_64)

Ich habe das Gefühl, dass es seit einigen Wochen so ist, es könnte vielleicht mit Variantenartikeln zusammenhängen. Die hatten wir früher nicht. Ansonsten haben wir ausser den regelmäßigen Updates nichts verändert. Während der sehr lang dauernden Abfrage geht die CPU -Benutzung des mysql-Prozesses deutlich hoch.

Auszug aus /proc/cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel® Core™ i7-4790K CPU @ 4.00GHz
stepping        : 3
microcode       : 0x19
cpu MHz         : 4236.718
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 2
cpu cores       : 4
apicid          : 4
initial apicid  : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                     pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdt                                    scp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc ap                                    erfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16                                     xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave a                                    vx f16c rdrand lahf_lm abm ida arat xsaveopt pln pts dtherm tpr_shadow vnmi flex                                    priority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
bogomips        : 7999.97
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

 

Achja, wir haben Shopware 5.6.2. Mysqltuner habe ich installiert, und auch schon Tabellen reorganisiert.

 

Das mal lesen: https://www.shopware.com/de/news/praxistipp-performance-optimierung-fuer-onlineshops/

Probiere auch mal die HTML Komprimierung zu deaktivieren: https://forum.shopware.com/discussion/comment/259427/#Comment_259427

Ansonsten müsste da mal ne Agentur darüber schauen.

Zudem: Debian 8 hat noch Support bis 2020-06. Vielleicht auf aktuelles debian wechseln (lassen)?