I am considering using AppFabric caching feature for one of our projects. We have a need for distributed caching feature and it seems AppFabric is a good solution. However, I have a few questions which I hope will be answered here.
We are considering to host AppFabric Cache server on the same machine where our web application is installed. I have found on MSDN article stating that AppFabric should be installed on a dedicated machine. It is also noted there that AppFabric can be installed on the same machine as application itself but some issues should be considered (quote from article):
Windows Server AppFabric cache hosts should be dedicated to the caching service, which means that those servers are not also used as application, web, or database servers. It is possible to use non-dedicated cache servers in a cluster, but this scenario is not supported. Despite this policy, if you decide to use non-dedicated cache hosts, make sure to properly estimate and test the configuration for each cache host to allow enough memory and network resources for both the caching service and all other services on the machines. Also understand that spikes in processor and network utilization by other services will negatively impact the performance and stability of the cache cluster.
Here is a link to this article: Article #1
Now, this sounds reasonable enough, I was thinking that limiting amount of RAM AppFabric cache can use would be enough. But, reading another article on MSDN I have found this:
For both physical and virtual machines, you should note the location of the cache cluster to the application or web servers that use the cache. If they are in separate data centers, make sure that the latency between those datacenters will not negatively affect your performance. At this stage it might be tempting to use yo