Workspaces are unusable on larger installations
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 9 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 Herbert Sojnik about 9 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 Oliver Hader almost 9 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?
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.
Most of the changes already have been integrated into TYPO3 6.0.
Updated by Herbert Sojnik almost 9 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?