Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

Caching der getPageDetail()-Ergebnisse #3577

Closed
ghost opened this issue Nov 29, 2011 · 8 comments
Closed

Caching der getPageDetail()-Ergebnisse #3577

ghost opened this issue Nov 29, 2011 · 8 comments
Assignees
Labels
Milestone

Comments

@ghost
Copy link

ghost commented Nov 29, 2011

Die Funktion getPageDetail() in der Controller.php wird anscheinend von verschiedensten Modulen benutzt. Heute hatten wir einen ziemlich extremen Fall wo durch einen vollen Katalog die Extension DomainLink schlappe 2000 mal den Funktionsaufruf durchführte. Das machte dann auch gleich gut 1800 Datenbankabfragen (cached hier der Datenbanktreiber?). Mit Tristan zusammen haben wir das Verhalten von DomainLink angepasst, aber prinzipiell wäre es natürlich schöner, wenn hier ein Caching bereits in der Controller.php stattfinden würde.

Die Funktion getPageDetail() scheint gern verwendet zu werden und wahrscheinlich lassen sich hier noch einige Datenbankabfragen sparen.

--- Originally created by Thraile on October 24th, 2011, at 05:40pm (ID 3577)

@ghost ghost assigned leofeyer Nov 29, 2011
@ghost
Copy link
Author

ghost commented Nov 29, 2011

getPageDetail generiert für die gleiche ID die gleichen Abfragen, was zu gleichen Querys führt und demzufolge durch den Contao DB-Driver gecacht wird.

--- Originally created by backbone on October 25th, 2011, at 01:40am

@Toflar
Copy link
Member

Toflar commented Nov 29, 2011

Trotzdem. Es sind zwei Queries, die zwar gecached werden, ein paar if-Abfragen, etliche Zuweisungen von Variabeln, InsertTag-Stripping usw. Ich denke man könnte $objPage trotzdem cachen oder spricht was dagegen?

--- Originally created on October 25th, 2011, at 08:50am

@andreasisaak
Copy link

Bei 10 Abfragen merkt man das auch nicht. Aber in Kombination mit dem Catalog und mehreren tausend Einträgen oder anderen Extensions die auf die selbe Funktion zurückgreifen, wird das zu einem echten Problem.

Unseren Tests zufolge bringt der DB-Driver Cache in solchen Fällen keinen performancebringenden Vorteil.

--- Originally created on October 25th, 2011, at 08:55am

@Toflar
Copy link
Member

Toflar commented Nov 29, 2011

Dann baut mal ein Caching ein, testet es und bringt hier den Patch und die Resultate :)

--- Originally created on October 25th, 2011, at 09:33am

@leofeyer
Copy link
Member

Ich kümmere mich darum.

--- Originally created on October 25th, 2011, at 10:46am

@leofeyer
Copy link
Member

Implementiert in 4b3d4be.

--- Originally created on October 25th, 2011, at 08:32pm

@andreasisaak
Copy link

**VIELEN, VIELEN DANK

![](**
Mehr kann ich dazu garnicht sagen) :)

--- Originally created on October 25th, 2011, at 08:37pm

@leofeyer
Copy link
Member

--- Originally completed on October 25th, 2011, at 08:32pm

leofeyer added a commit that referenced this issue Nov 30, 2011
leofeyer added a commit that referenced this issue Oct 31, 2014
leofeyer added a commit that referenced this issue Mar 27, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants