+1  A: 

Do I call GetCache("cacheName") for every DataCache object request, or do I make one static at the time DataCache factory is initialized and use that for all calls?

I suppose really the answer should be; try it both ways and see if there's a difference, but one static DataCache seems to me to make more sense than a corresponding call to GetCache for every call to Get.

That 'Pushing Client Performance' article suggests that there's a sweet spot where the number of DataCacheFactory instances gets you maximum performance beyond which the memory overhead starts working against you - it's a shame they didn't give any guidelines (or even a rule of thumb) on where this spot might be.

I haven't come across any documentation on maximising performance - I think AppFabric is still too new for these guidelines to have been shaken out yet. I did have a look in the Contents for the Pro AppFabric book, but it seems much more concerned generally with the workflow (Dublin) side of AppFabric rather than the caching (Velocity) piece.

One thing I would say though: is there any possibility for you to cache 'chunkier' objects so you can make fewer calls to Get? Could you cache collections rather than individual objects and then unpack the collections on the client? 700 cache gets per page load seems to me to be a huge number!

PhilPursglove
Yes it is a huge number, but I'm adding a caching provider for a nasty system and cant really change its core caching requirements. Thanks for your comments, still it highlights the fact there is not much good information out there for my specific problem.
CRice
With respect to pulling large numbers of items from the cache, have you had a look at the tagging and region functionality yet? If not have a read through this blog post on the subject: http://blogs.msdn.com/b/skaufman/archive/2010/04/22/tagging-objects-in-the-appfabric-cache.aspx
Rohland
@Rohland Tags and regions might be a way to simplify some of the code by reducing the number of calls to cache.Get, but I'm not sure they'd offer a significant performance benefit as I think the code would still be pulling the same number of items from the cache per page i.e. I think you'd still be hitting the same bottlenecks.
PhilPursglove