Contao-Camp 2024
Ergebnis 1 bis 19 von 19

Thema: Extrem langsame MetaModels bei eigenen Templates?

  1. #1
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard Extrem langsame MetaModels bei eigenen Templates?

    Hallo zusammen,

    wir sitzen zur Zeit an einem Projekt, bei dem ein Kunde im Backend ein Datum und einen Preis pro Datensatz definieren soll. Die Ein- und Ausgabe funktioniert vorerst einwandfrei, auch bei mehreren Tausend Datensätzen. Das Problem, auf das wir gestoßen sind, kommt aber erst, wenn wir beispielsweise das Template für den Preis durch ein eigenes ersetzen, um beispielsweise ein Euro-Zeichen zu ergänzen.

    Wir haben also unter "Templates" also ein neues Template namens "mm_attr_text_WITH_EURO.html5" angelegt (basierend auf Klick auf "Neues Template", danach die Auswahl des Basis-Templates und haben lediglich

    Code:
    <span class="text<?= $this->additional_class ?>"><?= $this->raw ?></span>
    durch

    Code:
    <span class="text<?= $this->additional_class ?>"><?= $this->raw ?></span>
    ersetzt und das Template dem Attribut in den Render-Einstellungen zugeordnet: chrome_8yNu93QoiT.png. Anschließend diese Render-Einstellung im Artikel die entsprechende anzuwendende Render-Einstellung ausgeführt und es "funktioniert". Alleine das führt dazu, dass sich die Ladezeit auf etwa 1-2 Minuten erhöht oder es so lange dauert, bis das Skriptausführungslimit erreicht wurde. Sobald irgendwo ein eigenes Template angelegt wird, wird die eigentliche Ladezeit astronomisch hoch. Das Problem hatten wir bereits bei einem anderen Kunden erkannt, es war aber tragbar, da es "nur" 10-20 Datensätze waren. Es war zwar "etwas langsamer", aber noch tragbar.

    Woran könnte das liegen?

    P.S.: Ja das ist eine offiziell nicht-unterstützte 4.8-Version, aber der gleiche Fehler taucht auch bei einer 4.4.x Version auf.
    Geändert von d33eniz (19.06.2020 um 09:47 Uhr)

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    leg mal noch ein Template mm_attr_text_WITH_EURO.text an - dazu in den Systemeinstellungen bei Template-Ext. noch "text" hinzufügen...

    an dem Template musst Du nix machen nur das Standard mm_attr_text.text anlegen und umbenennen...

    teste dann mal...

  3. #3
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    dazu in den Systemeinstellungen bei Template-Ext. noch "text" hinzufügen
    Wo genau soll das sein? Ich war bereits unter System > Einstellungen, aber da konnte ich nichts finden?

    EDIT: Gefunden, in den Render-Einstellungen. Ich teste mal gleich.

    EDIT2: Nein, nicht ganz, da habe ich was verwechselt, das ist natürlich was anderes Frage verbleibt, wo die Einstellung ist?

    EDIT3: Hah- seit Contao 4.7 gibt es diese Option "Unterstützte Templateformate" gar nicht mehr- was nun? Siehe:

    https://contao.org/de/news/contao_4-7-0.html
    Unterstützte Templateformate: entfallen, es wird nur noch .html5 unterstützt
    Geändert von d33eniz (19.06.2020 um 11:52 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Bei einer anderen Contao 4.4.46 Webseite probiert:

    - In Einstellungen "txt"-Format bei "Unterstützte Templateformate" hinzugefügt
    - bestehendes Template kopiert und als .txt-Datei angelegt

    Das resultiert aber darin (obwohl ich die .txt-Datei noch extra gekennzeichnet habe im Dateinamen), dass folgende Fehlermeldung kommt:
    Template metamodel_prerendered_FE_LIST_TXT not found (it is maybe within a unreachable theme folder?).
    chrome_ffJO8JFqcr.png
    Die Datei ist aber korrekt angelegt und konnte auch in den Einstellungen ausgewählt werden. Ein switchen zum alten Template funktioniert einwandfrei.

  5. #5
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.450
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Oha, ich hatte neulich auch das Problem.

    Frage dazu: Wer ist der Hoster?

    Hintergrund:

    - hab Conato 4.9 mit MM 2.1 und umbennante Templates bei IONOS -> Tip Top
    - hab Conato 4.9 mit MM 2.1 und umbennante Templates bei Netcup-> katastrophale Ladezeit

  6. #6
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Zitat Zitat von cliffparnitzky Beitrag anzeigen
    Oha, ich hatte neulich auch das Problem.

    Frage dazu: Wer ist der Hoster?

    Hintergrund:

    - hab Conato 4.9 mit MM 2.1 und umbennante Templates bei IONOS -> Tip Top
    - hab Conato 4.9 mit MM 2.1 und umbennante Templates bei Netcup-> katastrophale Ladezeit
    Interessant, also wir sind sowohl bei Hetzner-Online (AX41-NVME https://www.hetzner.de/dedicated-rootserver/matrix-ax), als auch bei Alfahosting (Cloud-Server L https://alfahosting.de/vserver-hosting/) und die Ergebnisse sind bei beiden Hostern identisch.

  7. #7
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.450
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von d33eniz Beitrag anzeigen
    Interessant, also wir sind sowohl bei Hetzner-Online (AX41-NVME https://www.hetzner.de/dedicated-rootserver/matrix-ax), als auch bei Alfahosting (Cloud-Server L https://alfahosting.de/vserver-hosting/) und die Ergebnisse sind bei beiden Hostern identisch.
    Okay, schade. Hatte gehofft du bist auch bei NC, dann wäre dort ein Zusammenhang zu vermuten.

    Ich hab übrigens auf den original Template Namen umgestellt (ging bei mir, weil ich nur 1 Mal das Attribut verwendet hab) und damit war die Performance wieder top. Wäre aber nur so ein Not Workaround.

  8. #8
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Das mit dem identischen Namen geht in den meisten Fällen leider nicht, weil wir die Daten meistens doppelt benötigen (tabellarische Aufzählung + Darstellung als Diagramm), daher haben wir beispielsweise Templatenamen wie "metamodel_prerendered_CUSTOM_diagramm.html5" und "metamodel_prerendered_CUSTOM_tabelle.html5", um dann beispielsweise sowas darzustellen:
    ApplicationFrameHost_itND8AJ8qw.png
    ApplicationFrameHost_kaoIoGw4XW.png

    Anfangs dachte ich, es liegt an der Datenmenge, aber das Problem tritt bereits spürbar ab 10 Datensätzen auf bei eigenen Templatenamen.

  9. #9
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von d33eniz Beitrag anzeigen
    Bei einer anderen Contao 4.4.46 Webseite probiert:

    - In Einstellungen "txt"-Format bei "Unterstützte Templateformate" hinzugefügt
    - bestehendes Template kopiert und als .txt-Datei angelegt

    Das resultiert aber darin (obwohl ich die .txt-Datei noch extra gekennzeichnet habe im Dateinamen), dass folgende Fehlermeldung kommt:

    chrome_ffJO8JFqcr.png
    Die Datei ist aber korrekt angelegt und konnte auch in den Einstellungen ausgewählt werden. Ein switchen zum alten Template funktioniert einwandfrei.
    * Einstellung war früher "Unterstützte Templateformate"
    * Bitte genau lesen, was ich schreibe! .text habe ich geschrieben und nicht .txt - ggf. per FTP anlegen

  10. #10
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von d33eniz Beitrag anzeigen
    Das mit dem identischen Namen geht in den meisten Fällen leider nicht, weil wir die Daten meistens doppelt benötigen
    in den meisten Fällen bearbeite ich metamodels_prerendered_* - in Deinem Fall macht das aber schon Sinn, das "Sub-Template" zu ändern

  11. #11
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    * Bitte genau lesen, was ich schreibe! .text habe ich geschrieben und nicht .txt - ggf. per FTP anlegen
    Mein Fehler, txt war für mich selbstverständlich gewesen, ist korrigiert auf "metamodel_prerendered_FE_LIST_TXT.text" und in den Contao-Einstellungen ebenfalls ("tpl,html5,xhtml,text"), Cache geleert- der gleiche "not found" Fehler besteht aber nach wie vor.

    Zitat Zitat von zonky Beitrag anzeigen
    * Einstellung war früher "Unterstützte Templateformate"
    Ich würde ja gerne fragen, was man den in neueren Versionen machen kann, wenn ich denn wüsste, dass dieser Workaround überhaupt erst funktioniert

  12. #12
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von d33eniz Beitrag anzeigen
    Mein Fehler, txt war für mich selbstverständlich gewesen, ist korrigiert auf "metamodel_prerendered_FE_LIST_TXT.text" und in den Contao-Einstellungen ebenfalls ("tpl,html5,xhtml,text"), Cache geleert- der gleiche "not found" Fehler besteht aber nach wie vor.



    Ich würde ja gerne fragen, was man den in neueren Versionen machen kann, wenn ich denn wüsste, dass dieser Workaround überhaupt erst funktioniert
    steht in #2 irgendwo metamodel_prerendered_FE_LIST_TXT.text?

    also: frischer Kaffee bitte > alles zurück auf Start > ab #2 neu starten

  13. #13
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Mensch, du meintest das "Sub-Template", wieder MEIN Fehler. Also, neues Template "mm_attr_file_alternative_FE_LIST_THUMBNAIL_TEXT.t ext" (anderer Name, da ich das nur in der Contao 4.4.46-Installation vorerst probieren kann) angelegt, der gleiche Inhalt wie in in den Render-Einstellungen ausgewählt und...

    ... "Template mm_attr_file_alternative_FE_LIST_THUMBNAIL_TEXT not found (it is maybe within a unreachable theme folder?)."

    Dann dachte ich mir "moment- meint er etwa, die beiden Dateien gleich heißen?"

    Nun sind im Templates-Ordner mit gleichen Dateiinhalt folgende beiden Dateien:
    - "mm_attr_file_alternative_FE_LIST_THUMBNAIL.ht ml5"
    - "mm_attr_file_alternative_FE_LIST_THUMBNAIL.te xt"

    und siehe da- lädt absolut superduperschnell! Mich interessiert jetzt natürlich brennend, warum das bitte a) überhaupt funktioniert, b) ob das ein Workaround ist und c) wie man das ab Contao 4.7 ohne die einstellbaren "Unterstützte Templateformate" ebenfalls realisieren kann?

    EDIT: In dieser .text-Datei muss ja nichtmal ein Inhalt stehen- die Datei kann auch leer sein oder irgendeinen Müll beinhalten und es funktioniert trotzdem? Wie genau hilft das aus?

    EDIT2: Jetzt geht's aber los- in meiner Contao 4.8.8 Installation habe ich, wie du beschrieben hast, die Textdatei angelegt (ohne Inhalt, nur .text-Endung und auch keine Einstellung im Backend vorgenommen, weil es diese nicht gibt) und schon ist das Problem gelöst?
    Geändert von d33eniz (19.06.2020 um 13:15 Uhr)

  14. #14
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von d33eniz Beitrag anzeigen
    Dann dachte ich mir "moment- meint er etwa, die beiden Dateien gleich heißen?"

    Nun sind im Templates-Ordner mit gleichen Dateiinhalt folgende beiden Dateien:
    - "mm_attr_file_alternative_FE_LIST_THUMBNAIL.ht ml5"
    - "mm_attr_file_alternative_FE_LIST_THUMBNAIL.te xt"
    JA! uff ;-)

    ich glaube, in MM 2.2 haben wir das schon gefixt... das *.text wird immer benötigt, weil alle Elemente immer als Text rerendert wird - z.B. für den raw-Knoten
    Das Problem taucht nicht immer auf bzw. wird nicht immer so deutlich - die Suche nach dem Template läuft eben seine Runden bis es einen Fallback findet, weil das "Schwestertemplate" nicht da ist

  15. #15
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von d33eniz Beitrag anzeigen
    EDIT2: Jetzt geht's aber los- in meiner Contao 4.8.8 Installation habe ich, wie du beschrieben hast, die Textdatei angelegt (ohne Inhalt, nur .text-Endung und auch keine Einstellung im Backend vorgenommen, weil es diese nicht gibt) und schon ist das Problem gelöst?
    hab ich das??

    leg mal noch ein Template mm_attr_text_WITH_EURO.text an
    mit Template anlegen meine ich, im BE "ganz normal" ein Template anlegen - die Einstellungssachen für die Extensions sind sicher in irgendeine yml-Datei gerutscht

    Edit: nee... oi - ist ganz wech https://contao.org/de/news/contao_4-7-0.html

    * Unterstützte Templateformate: entfallen, es wird nur noch .html5 unterstützt
    Da müssen wir und für MM 2.2 noch was einfallen lassen

  16. #16
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    hab ich das??
    Ich denke nicht, aber in der 4.8.8 Installation führt das reine Anlegen einer .text-Datei mit dem gleiche Namen wie das Template dazu, dass es funktioniert. Problem "gelöst". Besten Dank für das Freitagsabenteuer! Ich poste nachher mal einen Link zu der Unterseite, bei der das eingesetzt wird, falls es interessiert.

  17. #17
    Contao-Nutzer
    Registriert seit
    27.05.2014.
    Beiträge
    119

    Standard

    Voilá, funktioniert einwandfrei, hier ein Beispiel unter Contao 4.8.8:

    https://www.rackl-nuernberg.de/metal...tum/19.05.2020
    Geändert von d33eniz (19.06.2020 um 18:20 Uhr)

  18. #18

  19. #19

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •