Memcached is a high performance distributed memory object caching system. Originally created to speed up dynamic web application by reducing database load but can be used as generic caching system.
In this tutorial we’ll learn how-to install and configure Memcached on Ubuntu 14.04 (Trusty Tahr).
This tutorial assumes you have clean install of Ubuntu Server 14.04. If you plan to install memcached on production server please check your system to ensure it’s ok to install Memcached.
Before we install memcached let’s update our base install.
Update apt metadata.
$ sudo apt-get update
Update system packages to latest update.
$ sudo apt-get upgrade
Now we can install memcached from Ubuntu repository.
$ sudo apt-get install memcached
We can check memcached status using command below
$ sudo service memcached status * memcached is running
we can also check memcached status using netstat by finding memcached process
$ sudo netstat -naptu | grep memcached tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2602/memcached udp 0 0 127.0.0.1:11211 0.0.0.0:* 2602/memcached
Another way to check memcached service is by finding memcached default port from netstat output
$ sudo netstat -naptu | grep 11211 tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2602/memcached udp 0 0 127.0.0.1:11211 0.0.0.0:* 2602/memcached
We can also check connectivity to memcached using
$ nc -vz localhost 11211 Connection to localhost 11211 port [tcp/*] succeeded!
Now we have memcached running let’s learn how to configure memcached. Memcached comes with two configuration files.
We can enable or disable memcached on boot by changing parameter on
/etc/default/memcached file. The default value on this file is
To disable memcached on boot we need to change the line above to
Now let’s dissect
/etc/memcached.conf configuration file.
Memcached log configuration have one
logfile parameter where we can specify log file path.
To increase verbosity of the log file we can add
-vv below the logfile line.
Memcached Memory Limit
By default memcached will use 64 MB of memory. Memcached doesn’t reserve the memory on start but the memory usage will grow as needed with the limit as specified in
To increase memory limit to 1GB for example, we can change the line below
We can configure memcached port using
-p option. By default memcached use port 11211. If you change this port to non default you need to configure your application to also pointing to the same port.
User Running Memcached Process
This options is to configure which user run memcached process. We will rarely need to change this.
Memcached listen address
By default memcached will listen on all network interfaces. We can configure on which address memcached listen to.
Please note that this is the only security mechanism that memcached have. If you plan to open your memcached server from another server ensure you add firewall to the memcached server.
If you use cloud service like Amazon Web Services you can use security groups.
If you use provider that doesn’t offer firewall or you install on your own infrastructure you can use iptables.
Memcache Limit incoming connections
We can limit connection using
-c option. The default value is 1024 connections.
You can visit memcached.org to learn more about memcached.
In this tutorial we learned how-to install Memcached on Ubuntu 14.04 from Ubuntu repository. We also learned basic configuration of Memcached. I hope this tutorial will help you installing and configuring memcached on your infrastructure to improve your application performance.