Memcached in an open source caching system used to boost the page loading speeds of dynamic web apps like Drupal and WordPress. By using memory in more efficient ways, it caches database queries to improve user experience.
Memcached is best paired with a host whose infrastructure supports fast speeds. If you have a website with approximately 3,000 pages or more, or an e-commerce store, you can benefit from Memcached.
Here are the top 5 hosts for quality Memcached hosting:
– Fast servers, cPanel, excellent technical support
We vetted hundreds of hosts for quality of infrastructure and use of speed technologies like SSDs (solid-state drives) and Nginx. We also looked for hosts that provide Varnish, a web application accelerator that, when combined with Memcached, provides even greater speed.
We short-listed those providing an easy way to “turn on” Memcached. Then we compared our findings with thousands of user reviews in our database.
What You’ll Learn
It’s ideal for sites with heavy loads and deployed on top sites like Wikipedia and YouTube.
In this article, you’ll learn what Memcached is and how it can benefit your site.
We’ll look under the hood of Memcached to discover how it works. And we’ll cover how to install Memcached.
I’ll explain what to look for in a host. And I’ll offer a few hosting recommendations, based on my experience as a software engineer.
What Is Memcached?
Memcached is an open-source, object-caching system for general memory management.
It is designed to alleviate database load and speed up dynamic Web applications.
The program functions like short-term memory for your applications. Memcached runs on Unix, Linux, Mac OS X, and Windows.
Memcached Memory Caching
Memory caching systems store data in a transparent manner with the intention of serving future requests more quickly.
The stored data might be from earlier computations or copies of an original value from another storage location.
Reading a cache for requested, stored data is faster than obtaining it from its original location.
Efficient Caching is Key
Ultimately, computers and networks run much more efficiently with a good cache.
With Memcached, you can take memory from areas of your system where you have a surplus, and use it in places where it’s needed.
In addition, Memcached helps you to make better use of your memory, combining resources for more space.
All of the Memcached servers look to one virtual pool of memory. This means your stored items are always kept and retrieved from a consistent location within your Web cluster.
When you experience growth, Memcached continues to scale the aspects of your system together, ensuring that you can access increasing amounts of data without taking a performance hit.
Don’t confuse Memcached with “Memcache,” which is a name used for a variety of caching methods.
Who's Best for memcached Hosting?
We think SiteGround is the best choice for memcached.
Memcached is suited to address larger caches that frequently change.
Accommodate Increasing Traffic with Memcached
If you’re running a site and you have growing traffic, you can use Memcached hosting to accommodate site load.
It will more than likely get web pages to load faster for visitors.
Simultaneously, a Memcached server will transfer your data to persistent storage without affecting site performance.
Server RAM for Memcached
In default packages, a hosting provider may set aside a small amount of RAM for the cache, depending on the Linux distribution or operating system.
It varies between 64 MB – 512 MB.
With Memcached hosting, you can give more memory to Memcached depending on the size of your deployment.
Memcached’s simplicity promotes ease of deployment and solves many issues for website owners facing large data caches.
Memcached Pros and Cons
Here’s a summary of some of Memcached’s main pros and cons.
Pros of Memcached
Can be used to cache information that is difficult to gather
Web pages load faster
Easy to scale
Simple to deploy
Supports most CMS platforms.
Difficult to delete Memcached entries
Sharing resources require reconfiguring the server
Volatility (crash of server instance wipes any data stored within the session)
No further value besides being a value store/ in-memory key
Not much documentation support.
How Much Does Memcached Hosting Cost?
Memcached is a feature that itself is free, and is offered along with other features such as MySQL, cPanel, and PHP.
Businesses just need to set up a website with a web host that offers Memcached in its package, so they don’t have to spend a penny.
Like any hosting, your resource needs with Memcached hosting will grow as your site experiences more cache, media, and content.
Your hosting plan should accommodate these additional requirements without incurring extra fees.
How to Install Memcached
Software needs to use a Memcached client API to take advantage of it.
Applications which have heavy database needs will benefit the most. Applications which do their own data caching won’t always get much of a boost from Memcached, but the potentially larger store may help them.
Most CMS programs don’t provide Memcached support by default. On WordPress for example, you’ll have to install a third-party plugin and then enable Memcached from the cPanel.
If the Memcached service is activated correctly by the hosting provider, the plugin will be able to use it to store frequently executed queries inside.
Summary of Memcached
Memcached will serve most data requests generated by your site. To achieve that, the collective size of the key/store must suffice to cache the majority of the requested data objects from the site to achieve an acceptable performance rate.
Check the capacity of Memcached with your hosting provider.
Main Memcached Features
Free and open source
Can store any type of data
Minimal security; deploy only on protected local networks
The Top Three Memcached Hosts
Here are three providers that you should seriously consider when developing a Memcached-based site.
SiteGround and Memcached: Excellent Guidance and Customer Support, Plus CDN
SiteGround gives extensive instructions on its website for using Memcached with various web applications.
Its proprietary SuperCacher can use Memcached or several other caching engines to accelerate the Apache web server’s performance.
LiquidWeb managed hosting includes 24/7 support with guaranteed initial response times, and it guarantees 100% uptime. It’s not the least expensive option, but it gives good value.
WebFaction: Memcached Hosting for Developers
WebFaction boasts “hosting for developers,” and it provides detailed technical information on using Memcached. It provides SSH access, and you can run any tools of frameworks of your choice, in many programming languages.
Memcached is a caching program designed to minimize database load.
Who developed Memcached?
Brad Fitzpatrick developed Memcached for LiveJournal in 2003. Anatoly Vorobey later rewrote the program from the original Perl into C. As open-source software, it continues to be developed by a team of contributors.
Do I have to use my server space for caching?
No. It is possible to set up a separate machine to be used as your Memcached server. Before doing this, you should check with your host to see if they are configured for this and to ensure proper security measures are in place.
What are the minimum system requirements for running Memcached?
Memcached can run on nearly any hardware, because it is designed to use very few resources. Of course, the higher processor speed and more RAM available, the faster it will perform.
Performance will vary depending on the number of active clients, available servers, and so on. You should consult the Memcached Wiki for specific strategies for optimizing performance.
Can I use Memcached for my database?
Memcached does not recommend using it on a database host. Instead, they advise giving your database as much RAM as possible. This way if cache misses happen, your indexes and data are already in memory.
Can I use memory swapping with Memcached?
It is not recommended, as swapping will result in poor performance.
Instead, you should assign a certain percentage of physical memory (usually a few percent more than you anticipate needing), to a Memcached server. For best performance you should monitor your server if it is using swap, and make adjustments to your allocations as necessary.
How do I configure Memcached?
Memcached is a command line application, so you will need to review the documentation available with the installation and on their website for an up-to-date list of Memcached arguments.
You will also need SSH access to your server.
How do I install Memcached onto my own server?
You can install Memcached using one of many pre-compiled packages available on their website, or you can download the source code and compile it yourself.
They recommend using a package whenever available, as these have been tested. See the Memcached website for specific information pertaining to your operating system.
Once Memcached is installed, how can I monitor it?
Memcached contains a number of statistical counters to monitor system performance and health.
There are also third-party monitoring tools available on the Memcached Wiki site. Some of them feature a command line interface, like Memcached, while others provide a graphical user interface to simplify the user experience.
How can I contribute to Memcached?
Memcached is an actively developed application, so there are several ways you can contribute to it.
You can join discussions with other community members and developers via their mailing list or IRC channel.
There are a number of technical conferences available for developers and users.
You can also contribute to the Memcached Wiki site by emailing your suggestions or asking for editing access through the mailing list.
What should I consider before upgrading to a new version of Memcached?
While each release of Memcached is thoroughly tested, it is important to run a new release in a QA or dev environment first, then test it on a single server in production. If everything works fine, roll out to the rest of your servers one at a time.
What sort of load can Memcached handle?
That will depend on the system it’s running on.
For a fast machine with a high speed network, it should easily handle over 200,000 requests per second. With some adjustments or faster hardware, it can handle much more than that.
Even on slower machines, it should easily be able to accomplish a few hundred requests per second.
How many clients can a Memcached site support?
Memcached uses an event-based architecture, so high numbers of clients should not slow it down. It is successfully working for companies with hundreds of thousands of connected clients.
Of course, Memcached can only work as hard as your hardware will allow. You need enough spare RAM for each connected client, so even though an individual client only requires a very small amount of RAM, hundreds of thousands of clients will require a lot of RAM.
Other factors, such as thread limitations and local ports, may affect your ability to handle a large number of clients. System tuning and additional adjustments can help.
How do release cycles work?
Three weeks after each stable release, Memcached releases a –rc1 for the next release. Additional –rc’s typically follow once or twice a day, depending on the number of fixes.
After three days, unless additional bugs are still being reported, a new stable version is released. This usually results in a new stable version approximately every month.
While any of the core developers may contribute changes, the contributor is not allowed to be a part of the review process for their own changes.
Gary McGath spent years as a software developer before turning to writing. In addition to writing many articles on technology, he's the author of two crowdfunded e-books. His tech passions include data security and digital preservation.
Connect with Gary
Who's Best for memcached Hosting?
We think SiteGround is the best choice for memcached.