# Artikel-Übersicht bricht nach 30 Sekunden Ladezeit ab bei 30 Mio Artikeln im Shop. Timeout Einstellu

**URL:** <https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679>\
**Category:** Allgemein\
**Created:** [24. November 2016 um 11:06 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679 "2016-11-24T11:06:42Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [24. November 2016 um 11:06 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/1 "2016-11-24T11:06:42Z")

</div>

Wir haben in unserem Shop über 100.000 Artikel mit jeweils 273 Varianten, also rund 30 Mio Einzelartikel. Eine Menge Artikel.

Nun ist es so, dass beim Aufruf exakt nach 30 Sekunden bei der Artikel-Übersicht im Backend der Aufruf mit „0 - communication fehler“ abbricht.

Die MySQL Abfrage zeigt, dass hier folgende Abfrage durchgeführt wird während der Zeit:

> SELECT COUNT(\*) AS dctrn\_count FROM (SELECT DISTINCT id\_0 FROM (SELECT s0\_.id AS id\_0 FROM s\_articles\_details s0\_ INNER JOIN s\_articles\_attributes s1\_ ON s0\_.id = s1\_.articledetailsID LEFT JOIN s\_articles s2\_ ON s0\_.articleID = s2\_.id LEFT JOIN s\_articles\_categories\_ro s4\_ ON s2\_.id = s4\_.articleID LEFT JOIN s\_categories s3\_ ON s3\_.id = s4\_.categoryID WHERE s0\_.kind = 1 AND (s3\_.path LIKE ‚%|3|%‘ OR s3\_.id LIKE ‚3‘) ORDER BY s0\_.id DESC) dctrn\_result) dctrn\_table

Er macht einen 30 Mio Datensätze select, welches natürlich mehr als 30 Sekunden mit MysQL dauert.

Jetzt die Frage, wo stelle ich das Timeout von 30 Sekunden in Shopware um?-

Wir haben bereits im Plesk die Scriptlaufzeit erhöht und die MysQL Config auf dem Server auch das timeout erhöht, aber nichts hilft hier die 30 Sekunden zu erhöhen.

Weiß jemand rat?

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [24. November 2016 um 11:35 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/2 "2016-11-24T11:35:39Z")

</div>

Hi,

ich würde eher darauf tippen, dass der Server noch einen Neustart braucht? Ich wüsste nicht, dass wir da explizit auf 30 Sekunden begrenzen, warum auch.&nbsp;

Vom Prinzip her ist das von der Datenmenge für das Backend schon heftig, einfach weil SQL fürs Filtern / Suchen etc. tatsächlich die 3 Millionen Artikel durchlaufen muss. Im Frontend mit ES sollte das alles kein Problem sein, im Backend fehlen mir dazu etwas die Erfahrungswerte - hängt sicher auch davon ab, ob man die Varianten mit selektiert oder ob die Filter / Suchen nur über die “Stammartikel” laufen müssen.&nbsp;

Besten Gruß,

Daniel&nbsp;

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [24. November 2016 um 11:44 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/3 "2016-11-24T11:44:16Z")

</div>

[@Daniel Nögel]([http://forum.shopware.com/profile/4010/Daniel](http://forum.shopware.com/profile/4010/Daniel) Nögel “Daniel Nögel”)‍ , danke für die Hinweise. Server Neustart habe ich schon gemacht, bringt auch nichts.

Klar, 30 Mio Einzelartikel mit 100.000 Elternartikel ist sehr viel, wir haben dafür auch Elastic Search am laufen für den Shop, damit es im Frontend flott läuft, was im da auch hervorragend mit Elastic Search Funktioniert. Doch im Backend mal eben 30 Mio Datensätze per SELECT in MySQL durchführen braucht seine Zeit. Trotz 6 fach Prozessor und SSD Platten. Die Varianten sind hier nicht mit Angezeigt. Kurios sind wirklich die 30 Sekunden, die kann ich mit der Stoppuhr setzen, jedes mal.

Irgendwo ist hier ein Timeout auf 30 Sekunden gestellt. Die max\_execution\_time in PHP steht bei uns schon auf 3600 Sekunden, bringt aber auch nix.

---

<div class="post-metadata">

**Author:** ![raymond](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@raymond](https://forum.shopware.com/u/raymond)\
**Post date:** [24. November 2016 um 12:28 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/4 "2016-11-24T12:28:39Z")

</div>

Ihr kommt ja bald an amazon ran: [http://marketplace-analytics.de/blog-amazon-sortimentgroesse-laender-vergleich](http://marketplace-analytics.de/blog-amazon-sortimentgroesse-laender-vergleich)

Was habt ihr für eine MySQL Version? Neben der Community-Edition gibts ja auch eine kommerzielle Edition, die nochmal schneller sein soll:

[https://www.mysql.de/downloads/](https://www.mysql.de/downloads/)

Oder mal MySQLtuner ausprobieren: [MySQL Performance Tuning – Thomas-Krenn-Wiki](https://www.thomas-krenn.com/de/wiki/MySQL_Performance_Tuning)

Oder auf MariaDB gehen ([Link1](https://blog.php-dev.info/2014/04/mariadb-vs-mysql/), [Link2](https://developers.shopware.com/sysadmins-guide/shopware-5-performance-for-sysadmins/)), wird leider nicht offiziell von Shopware unterstützt, läuft aber. Natürlich vorher alles doppelt und dreifach sichern.

PHP7 (mit Shopware 5.2!) bringt auch nochmal Performance, vielleicht ist da auch noch was möglich.

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [24. November 2016 um 12:42 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/5 "2016-11-24T12:42:30Z")

</div>

@raymond‍ , danke, aber an amazon kommen wir nicht ran. Grund sind die vielen Varianten. Derzeit sind 100.000 Produkte im Shop, mit jeweils 273 Varianten, ähnlich wie bei T-Shirts Größe, Farbe usw…

Die kommerzielle Edition unterscheidet sich nicht in der CE Version, außer bei Plugins, ansonsten alles gleich.

Wir nutzen MariaDB bereits schon, Grund sind hier lediglich die SELECT Abfrage in der Tabelle s\_articles\_details&nbsp; die bei uns knapp 30 Mio Datensätze beinhalt und knapp 5 Gigabyte groß ist, dass muss erstmal alles durchlaufen werden. Daher haben wir auch ElasticSearch eingesetzt für das Frontend, was hervorragend klappt, aber eben nur im Frontend, weils im Backend nicht unterstützt wird. Dazu haben wir auch ein Ticket eröffnet, aber es ist derzeit nicht geplant das umzusetzen.

Daher, was nützt ES im Frontend, wenn im Backend weiterhin auf MySQL aufgebaut ist. Da nützt auch kein PHP7, wenn die SELECT 30 Mio Datensätze runter rattern muss.

---

<div class="post-metadata">

**Author:** ![senor\_dingdong](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@senor\_dingdong](https://forum.shopware.com/u/senor_dingdong)\
**Post date:** [24. November 2016 um 12:44 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/6 "2016-11-24T12:44:39Z")

</div>

Hast du denn mal versucht, eine zeitintensive Query direkt auf der Datenbank auszuführen, also ausserhalb von Shopware? Kann ja durchaus sein, dass deine Timeouts nicht aktiv sind oder dass du hier in ein Speicherproblem rennst.

---

<div class="post-metadata">

**Author:** ![raymond](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@raymond](https://forum.shopware.com/u/raymond)\
**Post date:** [24. November 2016 um 12:47 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/7 "2016-11-24T12:47:18Z")

</div>

Dann unbedingt mal MySQLtuner laufen lassen, zeigt Optimierungspotential an.

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [24. November 2016 um 12:53 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/8 "2016-11-24T12:53:54Z")

</div>

Habe eben eine Query z.b: SELECT \* FROM `s_articles_details` WHERE `additionaltext` = ‚Test‘ durchgeführt. Das klappt, er rattert die 30 Mio Datensätze in ca 47 Sekunden runter mit MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). (Die Abfrage dauerte 47.8143 Sekunden.)

Also dort gibt es kein Timeout.

Das Timeout kommt in Shopware immer exakt nach 30 Sekunden wenn die Datensätze aufgebaut werden sollen.

Speicher? 64 Gig Ram hat der Server und aktuell sind noch genug frei.

Kurios sind hier halt genau die 30 Sekunden die es da immer abbricht, nicht mehr, nicht weniger.

Das es lange dauert, da kann auch MySQL Tuner nix ändern, 30 Mio Datensätze sind kein Pappenstiel und es werden täglich mehr.

&nbsp;

---

<div class="post-metadata">

**Author:** ![raymond](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@raymond](https://forum.shopware.com/u/raymond)\
**Post date:** [24. November 2016 um 13:03 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/9 "2016-11-24T13:03:08Z")

</div>

Vielleicht ist da doch Shopware am Ende?! Die Artikel auf mehrere Domains/Shops mit separaten Datenbankserver zu verteilen ist nicht drin?

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [24. November 2016 um 13:25 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/10 "2016-11-24T13:25:19Z")

</div>

Shopware ist nicht am Ende, irgendwo sind 30 Sekunden eingestellt, die es zu erhöhen gilt. Aber wo?

Eine Aufteilung ist leider nicht möglich.

---

<div class="post-metadata">

**Author:** ![senor\_dingdong](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@senor\_dingdong](https://forum.shopware.com/u/senor_dingdong)\
**Post date:** [24. November 2016 um 13:34 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/11 "2016-11-24T13:34:53Z")

</div>

Vielleicht ist das Problem nicht die Datenbankverbindung sondern das Timeout für Ajax-Requests.  
In /engine/Library/ExtJs/overrides/Ext.Timeout.js wird die „ajaxTimeout“ (Standard ist 30, zu finden in „s\_core\_config\_elements“) mit 1000 multipliziert. Das sind wohl Millisekunden, also genau deine 30s…

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [24. November 2016 um 14:25 UTC](https://forum.shopware.com/t/artikel-ubersicht-bricht-nach-30-sekunden-ladezeit-ab-bei-30-mio-artikeln-im-shop-timeout-einstellu/41679/12 "2016-11-24T14:25:25Z")

</div>

@senor\_dingdong‍ , genau, perfekt, das war das Problem. Im Backend kann man es auch sehen in den Grundeinstellungen, war auf 30 Sekunden eingestellt.

Manchmal ist es so einfach. Danke.
