Thanks everyone! This is very interesting. I'm trying to learn a lot more about optimizing vBulletin, and I've come pretty far on most pages! Cut down load times from 2 seconds to .5 seconds (and CMS from 8 seconds to .7 seconds). A lot of these had to do with old poorly designed mods.
But this memberinfo / template caching has me confused. I guess my question here would be, how can I just keep that fetch data query cached for a few minutes, so it doesn't need to reload every time?
I figured out that query seems to be coming from fetch_avatar_url, which I use to show the avatar of the "Thanker". Why in the world does it need all of that data in the query? Can't it just grab the avatar info? And again, same question as above, how can I keep this information cached so it doesn't run the query every time?
For example, when I look at the queries on a regular posting thread, I don't see that fetch data query run once. And yet magically, I still see everyone's avatar and username on the page!
--------------- Added [DATE]1408372276[/DATE] at [TIME]1408372276[/TIME] ---------------
Ah bummer. Found the problem in functions_user.php:
Code:
function fetch_avatar_url($userid, $thumb = false)
/*
Changed the code to only use the cache for $avatarinfo.
The problem with caching the url as well is that if you have already called
this function with $thumb = false you cannot then call it with $thumb = true (or vice versa).
*/
C'mon vb developers!
As a solution, I will rewrite this as two functions, one for thumbnail, one for non-thumbnail. That way both can cache.