AutoNav Block Adding 6-8 Second of Load Time

Permalink 2 users found helpful
Hello,

I am currently evaluating Concrete5 for use in a very large website (2500 Pages, many visits per second).
I have migrated most of the sites pages using a single_pages/migrate.php script.

The server is MS Server 2008 IIS7 + PHP 5.2x + FastCGI + WinCache 1.1

Caching is enabled and configured correctly and is running very quick.

The template being used requires that a 2-level drop down-menu for the site be generated on each page. Currently this is being accomplished using the autoNav block.

Here is the problem. Once all the pages are loaded and the autoNav block turned on page take an average of 6-8 seconds to load?!!

Turning of the autoNav block brings load time to 300-500ms. Much better but indicates that the AutoNav block is the performance bottleneck.

So is there any way to improve the performance of the AutoNav block? Can I somehow cache its output and only refresh it occasionally?

I would really love to use Concrete5 but not with 6-8 second load time!

 
ppcc replied on at Permalink Reply
I have been looking for help on IRC as well.

One thing that came up is that it may be a CSS/JS issue. But even removing all CSS and JS doesn't solve the problem.

Looking at concrete/blocks/autonav/view.php
I don't see a single mention of anything related to caching.

Someone on IRC mentioned that 5.4.1 will get block level caching. Hopefully this will fix the problem.
Fernandos replied on at Permalink Best Answer Reply
Fernandos
Hi ppcc!

That's not a common, nor a any known problem.
I haven't seen this behaviour anytime. And I've tried c5 with 10k pages (copied pages in with a loop). (though that was with apache not iis)

So, it might have something to do with your installation beeing run on a windows server. You said you're using wincache, what happens when you disable it temporarily?

For troubleshooting, I would first clear the c5 cache from the c5 dashboard. Then try if wincache might have that bad side effect.

I would also check if your IIS configuration might have something to do with that. Because that's really not normal behaviour.

I would also consider using APC instead of wincache, because I know that C5 supports APC.

You can learn more about APC here: http://docs.moodle.org/en/Installing_APC_in_Windows...

And here you learn howto tell C5 that you're using APC http://www.concrete5.org/community/forums/chat/clear-instructions-t...

cheers
Fernandos
goldfish replied on at Permalink Reply
goldfish
I had a calendar block that was taking 10+ seconds to load, though everything else on the page was fast. Until C5 has block level caching, I hacked together a work-around that solved the problem: 1) Added a page in the sitemap that loads only the block's content (no header, etc). 2) made a PHP file that saves the output of that page to a static HTML file. 3) Use a PHP include in my theme to include the static HTML 4) Set up a Cron job to refresh this once an hour.
It reduced load times from 11+ seconds to 1. This method would work for an autonav as well if the periodic updates are acceptable. I would definitely try Fernandos suggestions first - I've never had long load times with autonav.
ppcc replied on at Permalink Reply
Thanks for your helps guys. Clearing the cache doesn't seem to help. I tweaked some things and was able to reduce the page load time to about 3seconds. Still not ideal but better. I'm going to try and get the latest concrete5 from svn and try and see if that fixes this performance issue.