aware that caching mechanisms are important for this, we have these in play including opcode, memcached, W3TC, front facing varnish servers, CDN usage etc.
I'd like to address as best we can the underlying issue too. Because of the way the WP database is designed (non-relational) when we get a site that's using over 3000 posts we see performance degrade very quickly, as various plugins and bits of the theme code loop over all these posts for the various bits of functionality on the pages. One of our sites has 10,000+ posts and the server can take almost 10 seconds processing before it responds with the page.
We have suggested using the transients API to the site builders, but this has not really improved performance much. It's also difficult to work transient handling into 3rd party plugins that don't use them (it breaks upgradability if we modify plugins).
Does anyone have any advice on things we can do to try and improve the performance on sites that iterate over this many posts? Are there some tricks we can employ? Or is it just a case of WordPress is not really cut out to be used with this many posts?