Hello,
we are working on migrating our modx Evolution-powered sites to modx Revolution. Our sites have tens of thousands of documents, and the performance with modx Evolution has been fine. However, we have run into some serious performance issues with the manager in modx Revolution.
Every time the cache is cleared, it tries to rebuild the entire document tree in the left document pane. This results in about 30,000 queries similar to the following being run:
SELECT `r`.`id`, `r`.`alias`, `r`.`parent`, `r`.`isfolder`, `r`.`content_type` FROM `modx_site_content` `r` WHERE `r`.`id` = '7' AND `r`.`id` != `r`.`parent` LIMIT 1
This causes the entire site to slow down and become unresponsive, even in a local testing environment (as these queries take about 5 minutes to complete). As we add more an more documents into the manager, and have more manager users in a live environment, this problem will only grow much worse.
I was wondering if:
* There are plans to optimize the load speed of the document pane
* There is a way to prevent the entire manager cache from being cleared when "clear cache" is selected. We just need the front-end, snippet, chunk caches to be cleared. (I looked at the clearCache() method of the modCacheManager class, but I could not figure out where the calling code is triggers the cache to deleted when the user selects "clear cache" in the manager.)
In order to optimize the load time of the file pane, I would suggest the following:
Use "lazy loading" to only load (and cache) the first-level folders, and then use ajax to load (and cache) whichever sub-folders are requested. This seems to be how Evolution does it, so I’m not sure why Revolution has done things differently.
Thanks in advance!