Configure and Speed Up WordPress with Memcached on PHP 7
In this tutorials we’ll configure WordPress with Memcached on PHP 7.xx. Memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
For this to work we need PHP MEMCACHED and Memcached package installed on your server. Memcached supports wide variety of OSs including Centos and Ubuntu, in this tut we’ll only cover the installation of memcached and pecl php memcached on Centos and on Ubuntu. Let’s get Started :
CentOS :
Install remi repo :-
Centos 8 :
cd /usr/local/src dnf -y install epel-release dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf -y --enablerepo=remi,remi install memcached systemctl start memcached systemctl enable memcached
Centos 7 :
cd /usr/local/src yum -y install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum -y --enablerepo=remi,remi install memcached systemctl start memcached systemctl enable memcached
Centos 6 :
cd /usr/local/src yum -y install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum -y --enablerepo=remi,remi install memcached service memcached start chkconfig memcached on
Ubuntu
20.04 and above (old version also supported) :
apt-get install memcached libmemcached-tools systemctl start memcached systemctl enable memcached
PHP MEMCACHED :
Now We’ll Build and install PHP MEMCACHED on php 7.xx (official) :
cd /usr/local/src rm -rf memcached* curl https://pecl.php.net/get/memcached -o memcached.tgz tar -xf memcached.tgz cd memcached-*/ phpize ./configure make make install
If you get SASL error then we need disable sasl flag added to the config:
cd /usr/local/src rm -rf memcached* curl https://pecl.php.net/get/memcached -o memcached.tgz tar -xf memcached.tgz cd memcached-* phpize ./configure --disable-memcached-sasl make make install
Now you need to add this line to your php.ini to enable this php extension :
extension=memcached.so
Then at last restart apache/php-fpm service and done, you can then check phpinfo and search “memcached” if it is there then you’ve successfully installed php-memcached and memcached.
WordPress Configuration with Memcached :
Now we need to go with WP configuration with memcached it is the simple process before proceeding make sure you’ve installed memcached and php memcached on php 7.xx.
Download this plugin on your PC : Memcached Redux
Extract and Find “object-cache.php” copy it to your WordPress “wp-content“ dir using FTP/SFTP/File-Manager
Before enabling object-cache in WordPress, you have to add the following lines in your wp-config.php file.
define( 'WP_CACHE_KEY_SALT', 'example.com:' );
replace example.com with your site
Done you’ve successfully Configured Memcached with WordPress, keep visiting more coming.
How to monitor Memcached stats :
Ensure “nmap-ncat/nc” package is installed before running this command :
watch -td '(echo stats ; echo quit) | nc 127.0.0.1 11211 | grep get*'
It will show stats in realtime, if “get_hits” is increasing then memcached is working fine :
eg :
STAT rusage_user 0.058720 STAT rusage_system 0.039618 STAT cmd_get 0 STAT get_hits 588669 STAT get_misses 200 STAT get_expired 560 STAT get_flushed 962 STAT slab_global_page_pool 0