Bug #36744
closedWorkspaces are unusable on larger installations
100%
Description
We're running TYPO3 4.5.12 on a website with a few thousand pages. Opening the workspace module on the root page of this site doesn't work - it creates a huge load on the server and in the end the page fails to load. Doing this with several users at once kills our server.
This is a big problem for us and we're willing to sponsor this with a serious budget.
Updated by Oliver Hader over 12 years ago
Thanks for your report and the sponsoring offer. If we create a code-sprint for performance on the workspaces part out of it, it might take a bit longer (since the sprint won't start tomorrow, but maybe in one or two months). So, maybe sponsoring an individual developer might make more sense in that regard...
The current implementation has three problems:- huge amount of queries for all tables and pages
- caching issues if the result set exceeds the available (database) cache space
- sorting elements (depending on the selected column in the module) happens always (uncached)
I think a lot can be done on the query part.
Updated by Bart Veldhuizen over 12 years ago
When you say 'sponsoring an individual developer', is that something the workspaces team can help me with? I don't think I would be able to find a developer that could do this for me as this is such a highly specialized piece of code.
Updated by Herbert Sojnik about 12 years ago
We have at least one customer with the same problems, therefore we are interested in co-sponsoring a performance tuning.
But one important question before:
What is the roadmap for workspaces & version in generell?
Will the actual implementation (we use TYPO3 4.5) be obsolete by April 2014?
Updated by Bart Veldhuizen about 12 years ago
We have sponsored the development of this module and Oliver Hader implemented it for us. The resulting improvement in performance is amazing.
@Oliver: could you please release this module on TER so Herbert can use it as well?
Thanks!
Bart
Updated by Oliver Hader about 12 years ago
Bart Veldhuizen wrote:
We have sponsored the development of this module and Oliver Hader implemented it for us. The resulting improvement in performance is amazing.
@Oliver: could you please release this module on TER so Herbert can use it as well?
Thanks!
Bart
You can clone the status from GitHub - the optimizations have been created for a TYPO3 4.5 website.
Those changes modify the behaviour of Extbase bootstrapping for the workspace backend module as well.
see https://github.com/ohader/workspaces_performance
Most of the changes already have been integrated into TYPO3 6.0.
Updated by Herbert Sojnik about 12 years ago
Thanks Oliver for supplying your extension!
I tested it in my small test system and it worked correct.
Bbut within our large TYPO3 installation, that consists of about 13.000 pages, I always get a memory overflow.
I debugged our code and found the problem in the function findAll in the class Tx_WorkspacesPerformance_Utility_PageUtility:
All entries of the pages table with all columns are loaded by exec_SELECTgetRows and are kept in memory! I tried to reduce the columns from "*" to a few important ones (uid,pid,title) and could solve the problem.
Which columns are neccessary for the workspaces extension and should be loaded from database here?
Updated by Michael Stucki about 11 years ago
- Category changed from Code Cleanup to Workspaces
Updated by Michael Stucki about 11 years ago
- Project changed from 624 to TYPO3 Core
- Category changed from Workspaces to Workspaces
Updated by Benni Mack about 9 years ago
- Target version changed from 7.5 to 7 LTS
Updated by Sybille Peters almost 4 years ago
- Related to Epic #93547: Collection of problems with large sites added
Updated by Christian Kuhn almost 3 years ago
- Status changed from Accepted to Closed
Hey.
It seems there is nothing left as practical action task to do here for now. The DataHandler still can consume quite a lot of time when it's doing bigger things, but the workspace module as such should be much more responsive with current core versions. Further optimizing tasks should be resolved with dedicated issues.
I hope it's ok to close here for now.