When the menu cache expires, the menu is regenerated for every page is loaded until one of those pages finishes generating the menu and caches it. If generating the menu takes a several seconds and there are dozens of hits per second, this can result in the server being hoses for several minutes.
The fix is to put a lock around any cache checking code so only one process is ever calculating the menus at once.
Comments
Comment #1
magico commented@Nick Nassar: could you evaluate the HEAD and give some status reports with performance loss?
Thanks
Comment #2
Jerk Face commentedSorry, I don't have the resources to follow up on this. I just came across it in a site I was maintaining and thought I'd let you know about it.
Comment #3
moshe weitzman commentedmenu cache is per user. are you implying that all users suffer some delay or that a single user suffers a delay? please add more detail and reopen