Puncte:2

Termenul de taxonomie salva foarte lent

drapel ae

Am un vocabular cu aproximativ 15k+ termeni în ierarhii cu mai multe niveluri. Recent am observat că cu această cantitate de date, atunci când încerc să salvez un termen de un nivel superior (părinte pentru mulți), este nevoie de mult timp pentru a salva.

Am verificat cu modulul webprofiler și am văzut că rulează aproximativ 10.000 de interogări pentru un astfel de termen, inclusiv interogările pe care le rulează pentru copiii săi. Nu sunt sigur dacă acest lucru este de așteptat, dar există vreo modalitate prin care pot accelera procesul? Aceste interogări includ tabele precum cache, path_alias, taxonomy_term_data, taxonomy_term_revision, key_value etc.

Am încercat să aplic memcached care reduce considerabil interogările, în special din tabelele cache, dar totuși interogările de termeni fii sunt executate încetinind procesul.

De asemenea, m-am gândit să rulez procesul în fundal, dar și în acest caz, se presupune că ar trebui să ia aceeași cantitate de resurse server. Problema este atât de mult încât întreaga mea aplicație intră într-o stare de oprire (uneori indisponibilă) când actualizez anumiți termeni printr-o comandă drush.

Orice ajutor?

sonfd avatar
drapel in
Aveți această problemă când salvați doar un termen prin interfața de utilizare? Sau vedeți problema doar când rulați o comandă drush care actualizează mulți termeni?
drapel ae
Am această problemă în orice loc în care încerc să salvez un termen. Fie din ui sau programatic. Cu cât termenul este mai mare în ierarhie, cu atât este nevoie de mai mult timp.
Puncte:2
drapel ae

Am găsit motivul de unde provine problema. Este din modulul pathauto care are un cârlig de actualizare a entității care încarcă toți copiii de fiecare dată când se salvează un termen de taxonomie. Se face pentru a actualiza aliasul copiilor împreună cu părintele care este salvat. Mă gândesc să deschid un bilet în coada lor de emisiune. Ideea ar trebui să fie de a actualiza aliasurile copil numai atunci când acestea sunt dependente de atributul părinte. Ca /term/[nume-termen-părinte]/[nume-termen-copil].Nu numai că, în mod ideal ar trebui să fie procesat într-un lucrător de coadă, poate cu o blocare a tranzacției. Sper că asta ajută pe cineva.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.