MetaModels / core

MetaModels Core Module
GNU Lesser General Public License v3.0
96 stars 42 forks source link

Indexierung: getSearchablePages Hook blockiert die Arbeit im BE wenn neue News-/Eventbeiträge erstellt werden. #1439

Closed Ainschy closed 3 years ago

Ainschy commented 3 years ago

Checklist before I submit this issue report

I confirm that:

My environment is:

(Please fill in the actual values from your environment - check Contao Manager or use composer show)

Key Value Comments
PHP version: 7,4
Contao version: 4,9,13
MetaModels version: 2,2
Installed MetaModels packages: bundle all
DCG version: dev-release/2.2.0

Issue description

Set Up: Um in einem MM Detailseiten in die Sitemap.xml aufzunehmen wurde die Indexierung im MM eingestellt. Das Rendersetting enthält die ID der Detailseiten für DE und EN (JumpTo) und es wurden keine Attribute ausgewählt, Template ist metamodels_unrendered und Ausgabeformat: keine; das MM hat mehrere Referenzen zu anderen MM

Problem: Wird ein News- / Eventbeitrag erstellt wird der Hook getSearchablePage getriggert, MM schaut welche Seite es der Sitemap.xml hinzufügen kann. Es wird dabei aber nicht nur die URL der Detailseiten geholt sondern - aus welchem Grund auch immer - das ganze MM mit Abhängigkeiten aufgelöst. Die Folge ist das über 8000 DB Querys erzeugt werden und die Seite ist für über 24 Sekunden nicht mehr nutzbar. Wenn ich die Indexierung entferne sind es ca 800 DB Querys und die Seite braucht ca 2 Sekunden.

Steps to reproduce

Sie in SetUp beschrieben s.o.

Das Problem konnte ich mit @zonky2 nachgehen und nachstellen. Laut Debug Konsole erfolgen Abfragen durch sämtliche verbundenen MM, auch tl_files wird abgefragt obwohl hier nur die URL zur Detailseite geholt werden soll.

zonky2 commented 3 years ago

@discordier und @stefanheimes - wir sollten hier gucken, ob man die Auflösungstiefe nicht reduzieren kann und die Generierung der Links zu den Detailseiten an der Stelle nicht chachen kann - es macht ja wenig Sinn, bei dem Neuanlegen einer News jedes Mal durch alle MM-Items zu eiern...

zonky2 commented 3 years ago

fixed in MM 2.2

thx at @discordier