
This is not exactly a bug but it is a performance issue for stores with lots of categories.
We have a store here: http://www.lynallan.com/
We have a lot of categories in the top menu and also on sub category pages in the right sidebar. We were seeing server side and client side total page load times of 15-30 seconds. Server side the home page was seeing 6-15 seconds and the sub cat pages were seeing 12-25 seconds and this is all server side before the client side even gets the page. Then client side time was an additional 3-8 seconds.
I used a benchmark class and first thing I noticed was 900 queries being run. Most of them were calling $this->url->link.
I finally narrowed it down to the category data processing in these locations:
foreach ($categories as $category) in catalog/controller/module/category.php around line 33
foreach ($categories as $category in catalog/controller/common/header.php around line 107
My question is why isn't this category data cached?
I have now cached it via a vqmod. I have attached it if anyone else wants it.
My only other question remaining is I would like to know if there is a cache time setting in the admin and if not how long is data cached?
Let me know what you think of this?
Download it on Github: https://gist.github.com/weismannweb/a16 ... 89ca1d1209
EDIT: Updated to work with multi-store. Thanks to platoon for multi-store fix.