Hohe Load wenn Administration offen ist

Uns ist vor kurzem aufgefallen, dass die Load sehr hoch ist, wenn die Administration läuft / jemand eingeloggt ist.

Die Access Logs haben ein paar Einträge:

 

/api/v1/message-queue-stats

/api/v1/_action/message-queue/consume

 

In der Adminstration ist keine Info das Medias bearbeitet werden oder andere aufwendige Prozesse laufen. Auch sollten schon lange alle Bilder generiert worden sein (Shop ist seit 4 Wochen im prod und hat nur 100 Artikel).

 

Was könnte hier die Load verursachen bzw. wie finde ich das am besten raus? CLI? Jemand ähnliches erfahren?

 

hier noch der php-fpm slowlog:

[22-May-2020 10:51:47] [pool www-data] pid 11907
script_filename = /home/www-data/MYPROJECT/public/index.php
[0x00007f0176a14c80] get_object_vars() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/Struct/JsonSerializableTrait.php:9
[0x00007f0176a14be0] jsonSerialize() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Entity.php:123
[0x00007f0176a14b30] jsonSerialize() /home/www-data/MYPROJECT/vendor/shopware/storefront/Framework/Seo/SeoUrlRoute/ProductPageSeoUrlRoute.php:67
[0x00007f0176a14a70] getMapping() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlGenerator.php:175
[0x00007f0158edcd40] generateUrls() unknown:0
[0x00007f0158fbf988] ???() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlPersister.php:67
[0x00007f0176a148c0] updateSeoUrls() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/DataAbstractionLayer/Indexing/SeoUrlIndexer.php:205
[0x00007f0176a14700] partial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/IndexerRegistry.php:112
[0x00007f0176a14610] doPartial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/IndexerRegistry.php:103
[0x00007f0176a14530] partial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/MessageQueue/IndexerHandler.php:34
[0x00007f0176a14480] handle() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/MessageQueue/Handler/AbstractMessageHandler.php:16
[0x00007f0176a143e0] __invoke() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:63
[0x00007f0176a14240] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php:73
[0x00007f0176a14150] handle() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/MessageQueue/Middleware/RetryMiddleware.php:40
[0x00007f0176a14080] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php:34
[0x00007f0176a13fe0] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php:67
[0x00007f0176a13f00] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php:42
[0x00007f0176a13e70] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php:37
[0x00007f0176a13de0] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/MessageBus.php:80
[0x00007f0176a13d20] dispatch() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/MessageQueue/MonitoringBusDecorator.php:47

[22-May-2020 10:52:27] [pool www-data] pid 11907
script_filename = /home/www-data/MYPROJECT/public/index.php
[0x00007f0176a15600] preg_match_all() /home/www-data/MYPROJECT/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php:255
[0x00007f0176a15550] getUnquotedStatementFragments() /home/www-data/MYPROJECT/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php:106
[0x00007f0176a15450] collectPlaceholders() /home/www-data/MYPROJECT/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php:91
[0x00007f0176a153e0] getNamedPlaceholderPositions() /home/www-data/MYPROJECT/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php:203
[0x00007f0176a151e0] expandListParameters() /home/www-data/MYPROJECT/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:899
[0x00007f0176a150f0] executeQuery() /home/www-data/MYPROJECT/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php:206
[0x00007f0176a15080] execute() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityReader.php:296
[0x00007f0176a14fb0] fetch() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityReader.php:144
[0x00007f0176a14eb0] _read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityReader.php:103
[0x00007f0176a14e00] read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Cache/CachedEntityReader.php:44
[0x00007f0176a14d70] read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/EntityRepository.php:217
[0x00007f0176a14cc0] read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/EntityRepository.php:85
[0x00007f0176a14b90] search() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlGenerator.php:86
[0x00007f0176a14b00] Shopware\Core\Content\Seo\{closure}() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/Context.php:217
[0x00007f0176a14a70] disableCache() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlGenerator.php:87
[0x00007f0159395300] generate() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlPersister.php:67
[0x00007f0176a148c0] updateSeoUrls() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/DataAbstractionLayer/Indexing/SeoUrlIndexer.php:205
[0x00007f0176a14700] partial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/IndexerRegistry.php:112
[0x00007f0176a14610] doPartial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/IndexerRegistry.php:103
[0x00007f0176a14530] partial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/MessageQueue/IndexerHandler.php:34

[22-May-2020 11:01:57] [pool www-data] pid 11908
script_filename = /home/www-data/MYPROJECT/public/index.php
[0x00007f0176a153d0] unserialize() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/FieldSerializer/ListingPriceFieldSerializer.php:30
[0x00007f0176a152c0] decode() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityHydrator.php:192
[0x00007f0176a15110] hydrateEntity() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityHydrator.php:44
[0x00007f0176a14fb0] hydrate() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityReader.php:146
[0x00007f0176a14eb0] _read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Dbal/EntityReader.php:103
[0x00007f0176a14e00] read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Cache/CachedEntityReader.php:44
[0x00007f0176a14d70] read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/EntityRepository.php:217
[0x00007f0176a14cc0] read() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/EntityRepository.php:85
[0x00007f0176a14b90] search() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlGenerator.php:86
[0x00007f0176a14b00] Shopware\Core\Content\Seo\{closure}() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/Context.php:217
[0x00007f0176a14a70] disableCache() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlGenerator.php:87
[0x00007f0158817300] generate() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/SeoUrlPersister.php:67
[0x00007f0176a148c0] updateSeoUrls() /home/www-data/MYPROJECT/vendor/shopware/core/Content/Seo/DataAbstractionLayer/Indexing/SeoUrlIndexer.php:205
[0x00007f0176a14700] partial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/IndexerRegistry.php:112
[0x00007f0176a14610] doPartial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/IndexerRegistry.php:103
[0x00007f0176a14530] partial() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/DataAbstractionLayer/Indexing/MessageQueue/IndexerHandler.php:34
[0x00007f0176a14480] handle() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/MessageQueue/Handler/AbstractMessageHandler.php:16
[0x00007f0176a143e0] __invoke() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:63
[0x00007f0176a14240] handle() /home/www-data/MYPROJECT/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php:73
[0x00007f0176a14150] handle() /home/www-data/MYPROJECT/vendor/shopware/core/Framework/MessageQueue/Middleware/RetryMiddleware.php:40

 

Die Log Zeiten matchen nicht dem Chart, aber einfach mal damit Ihr ein Gefühl bekommt um welche Last es hier geht

Den Worker solltest du am besten auf CLI umstellen und für die Administration deaktivieren. Denke der verursacht auch die Last bei dir.

Ich hab das gleiche Problem. Das sind ständige Message “SitemapMessage”.

Ich hab im Backend das Polling auf die Messages ausgestellt und die Sitemap-Generieung auf manuell gestellt.

Jetzt ist es gerade mal ruhig. Wo diese ständigen SitemapMessage (beobachte einfach mal die Tabelle “enqueue” - die Message die da drin steht ändert sich 4 Mal pro Sekunde) herkommen weiß ich auch ned so recht…

 

Hier mein Beitrag da drüber: https://forum.shopware.com/discussion/66413/logfile-waechst-ohne-grund-auf-mehrere-mb-bis-gb-in-kurzer-zeit

Hallo!

Wir haben auch das gleiche bzw. ein ähnliches Problem. Unser Server ist zeitweise extrem langsam und im Monitoring Tool gibt es diese Aufzeichnungen. Warum gibt es hier 605 Database calls und was macht diese message-queue ständig? Hast das auch etwas mit der Sitemap-Generierung zu tun? Danke für eure Hilfe.

@opalion‍ ja - das ist die Sitemap Generierung. Haben wir schon versucht zu filtern beim APM, klappt aber irgendwie nicht :-| 

@Misengo Was meinst du mit APM? Wir haben jetzt im Admin die Sitemapgenerierung von “Geplant” auf “Live” mit Interval stündlich eingestellt. Mal schauen, ob das nun besser wird.

@opalion schrieb:

@Misengo Was meinst du mit APM? Wir haben jetzt im Admin die Sitemapgenerierung von „Geplant“ auf „Live“ mit Interval stündlich eingestellt. Mal schauen, ob das nun besser wird.

So ein Request sollte erst gar nicht in den üblichen Zylkus des APM (bei dir Tideways) einfliessen. Kann man entsprechend filtern, aber das funktioniert nur bedingt. Filtert Ihr auf der Serverseite irgendwas ( IF Request XY THEN no tracking)? 

@Misengo schrieb:

@opalion schrieb:

@Misengo Was meinst du mit APM? Wir haben jetzt im Admin die Sitemapgenerierung von „Geplant“ auf „Live“ mit Interval stündlich eingestellt. Mal schauen, ob das nun besser wird.

So ein Request sollte erst gar nicht in den üblichen Zylkus des APM (bei dir Tideways) einfliessen. Kann man entsprechend filtern, aber das funktioniert nur bedingt. Filtert Ihr auf der Serverseite irgendwas ( IF Request XY THEN no tracking)? 

 

Nein, wir filtern nicthts. Du meinst, dass dieser Request gar nicht im Tideway aufscheinen sollte, weil es ein Service-Prozess ist, der sowieso ständig läuft und nicht immer Last verursacht?