Caching and Why it's Good for you! :)

First off -- What is Caching?

From Wikipedia:
In computer engineering, a cache ( /ˈká¦Êƒ/ kash[1]) is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. If requested data is contained in the cache (cache hit), this request can be served by simply reading the cache, which is comparatively faster. Otherwise (cache miss), the data has to be recomputed or fetched from its original storage location, which is comparatively slower. Hence, the greater the number of requests that can be served from the cache, the faster the overall system performance becomes.

What that means, is that the "cache" server retrieves the page you want, before you ask for it, and serves the "pre built" or "cached" page before you ask for it. The cache server periodically updates the page it stores and serves you the most recent copy of the page you ask for. This allows the server to serve 1 pre-built copy of say the front page, to 100 people trying to access it, instead of building a new copy of the front page 100 times in 5 seconds. This saves us a LOT of CPU and MEMORY usage.

Does this mean that our data is accessible to an outside server?

No! Currently the "cache" server is located on the same server as the basic web-server, they are just using different "ports" and access things in different ways. In the future, we plan to "off-load" the "cache" server to it's own dedicated machine where it can preform "load balancing" as well as caching, but that will still be our OWN server on our OWN hardware and directly administered by Me (Piper), Erin and our support team.

So will the site ALWAYS be fast now that we have this "cache" server in place?

There will be initial slow downs from time to time as the caching server dumps it's cache and rebuilds as things expire. Also there is the fact that with any caching server, some pages aren't cached untill they are accessed and we have a max time limit in place that is still fairly low in order to keep the site fresh. What this means is that some pages that aren't accessed very often will always load like they weren't cached because they aren't accessed often enough to be held in cache. But that being said, for the most part, the caching server should continue to load the site faster and allow us to do a lot more "upgrades" behind the scenes with less downtime to the users.