I've look at this article about 400% boost of your website. This is accomplished by a mix of nginx and memcached. The how-to thing about this website is very good, however i mis the part where it states to what kinds of websites this is applicable.
I understand nginx is really a http engine, I want no explanation for your.
I figured memcached had something related to caching database result. However do not understand what it has related to the http request, can someone please explain that in my experience.
Another question I've is perfect for what kinds of websites is used. I've got a website in which the important area of the website contain data that changes frequently. Frequently being minutes.
Will this process still affect me, or must i just stick to the fundamental boring setup of apache and little else.
In the memcached FAQ:
Adding memcached support for your application could be a large amount of work. MySQL includes a handy query cache feature which will instantly cache the outcomes of your SQL queries, making them way faster on repeat runs. How does memcached rival this? MySQL's query cache is centralized, so its benefits are noticed by all servers hooking up into it.
MySQL's query cache flushes just while you modify a table. You are able to store
a memcached item for any minimum amount of your time, but when you receive a large amount of
write traffic, MySQL's query cache
is going to be constantly expiring all
MySQL's query cache has scalability issues for a lot of Processor chips. It adds a
global lock, and will get reduced because it
needs to flush more queries.
You cannot store arbitrary data objects in to the cache. You are able to build a lot more efficient caches with
memcached. Run several separate
queries to construct a person object, build the consumer object, then cache that.
MySQL's query cache might help small
sites, but could do more damage than good at scale.
Memory is restricted to just how much spare RAM you've in your database. It's
much better to provide your database more RAM to cache data :) With memcached
you disseminate the cluster wherever
you've spare memory, so that you can
cache much more.
memcached is really a generic memory data cache. It's most likely most generally accustomed to cache database objects, however it can accomplish a lot of other tasks.
The specific article you linked is explaining using nginx instead of the Mongrel httpd usually employed for the Rails web framework. memcached has been accustomed to cache the outcomes of dynamic pages which use querystrings to create the dynamic content within this specific use situation, it seems the page will generate identical results by having an identical querystring every time, so significant performance gains can be purchased simply by skipping appserver generation and caching the made HTML in memcached.
Regardless of the somewhat overhyped headline, the content isn't giving a use situation that's right for all (as well as most) dynamic webpages. But when you've pages which require lots of computation and return exactly the same results with similar parameters for those customers (public search engine results make the perfect example), this solution provides you with significant performance improvement.