<p>I'm in the process of developing a social network site.</p>

<p>And been thinking of scalability from day one of the project, I've fine tuned the site and queries to the best of my ability.</p>

<p>However; Certain pages are very data heavy and I'm not quite sure if they are loading as fast as they could so I was thinking of implementing a distributed caching solution.</p>

<p>But not quite sure what I should cache and not cache. Or if current page load times of 1 second is good or bad.</p>

<p>The heaviest query is grabbing member information this query gets all the member's info and anything related to them such as in this site's case their goals, blog type entries, encouragements, photos, status updates (like twitter), blog info (for crossposting their entries) etc etc.</p>

<p>Anyhow, should I cache this info? And do you think 1 second page load times are reasonably fast? Some pages are less than a second between 4-6 10ths of a second.</p>

The page loading question was already asked:
What is considered a good response time for a dynamic, personalized web application?
In terms of caching, you have to measure the amount of time that would be spent loading the data each time versus loading from the cache. The bigger the cache, the less effective it becomes. So you don't want to load too much data into the cache. What we use here is a rolling cache, with the least recently used data being dropped once we hit the cache size limit. You then tune the limit according to actual performance results.