[TYPO3-core] RFC #11979: TCEforms suggest doesn't find everything on large sites and is slow

Andreas Wolf typo3ml at andreaswolf.info
Wed Sep 16 21:44:12 CEST 2009


Hi Steffen,

Steffen Gebert schrieb:
> Problem:
> On large sites (e.g. 20.000 pages) there are situations, when suggest
> doesn't find all results.
> This can happen, if you e.g. have 500 users and each one has site called
> "links" and nobody has access to the other's site. So suggest would find
> this page for some users and for some not.

I kind of anticipated this problem - but it should be manageable if you
insert some TSconfig in the root pages of your subtrees. This should
look something like this:

TCEform.default.suggest.pidList = <pid of the root subtree>

This limits searching to the subtree the user can see. The problem is
once again that the rootline has to be fully resolved. This is
especially a problem for complex pagetrees, as this has to be repeated
for every request. Maybe we can use memcached effectively here?

> There are several problems causing this:
> * During each query 50 elements are fetched
> * Recursion depth of fetching another 50 recurds is limited to
> $this->maxItems (which is 10 and should have nothing to do with
> recursion depth at all..)

I'm working on a patch for this - one of the 13 versions of the original
patch has introduced a bug there.

> Solution:
> To speed the process up and fetch all available records, increase the
> number of fetched records exponentially.
> Then the recursion limiter can also be removed. Nobody should have 2^100
> records in a table :-P

Going through all records on the server might potentially cause a really
high load. For large setups with only a few subpages visible for each
user, this should instead be fixed by configuration, if possible.

Regards
Andreas



More information about the TYPO3-team-core mailing list