使用memcache对wordpress优化,提速

环境:

一个本地开发环境

一个部署在虚拟机中( 虚拟机安装memcache缓存),然后用这个优化的版本跟本地开发环境对比.

wordpress版本:4.9.5

1,首先在主题的functions.php文件中,加入以下监控统计代码

function performance( $visible = true ) {
    $stat = sprintf(  '%d queries in %.3f seconds, using %.2fMB memory',
        get_num_queries(),
        timer_stop( 0, 3 ),
        memory_get_peak_usage() / 1024 / 1024
    );
    // echo $visible ? $stat : "<!-- {$stat} -->" ;
    echo "<div class='container_12'><p class='grid_12 footer clearfix'>$stat</p></div>";
}

add_action( 'wp_footer', 'performance', 20 );

样式可以根据自己的主题定制,这段代码可以统计出页面有多少次数据库查询。总共花了多少秒,耗费多少内存,类似如下的样式:

16 queries in 1.306 seconds, using 12.98MB memory

2,安装memcached服务端

[root@bogon wp-content]# ps -ef | grep memcached
root      5050  3466  0 14:44 pts/1    00:00:00 grep memcached
root     29269     1  0 13:57 ?        00:00:02 /usr/local/memcached/bin/memcached -d -l 127.0.0.1 -p 11211 -u root -m 64 -c 1024 -P /var/run/memcached.pid

3,安装php memcache扩展

wget http://pecl.php.net/get/memcache-3.0.8.tgz,用phpize外挂方式安装,安装完成之后,在php.ini中启用,再重启php,确定memcache已经加载

memcache
memcache support    enabled
Version    3.0.8
Revision    $Revision: 329835 $
Directive    Local Value    Master Value
memcache.allow_failover    1    1
memcache.chunk_size    32768    32768
memcache.compress_threshold    20000    20000
memcache.default_port    11211    11211
memcache.hash_function    crc32    crc32
memcache.hash_strategy    consistent    consistent
memcache.lock_timeout    15    15
memcache.max_failover_attempts    20    20
memcache.protocol    ascii    ascii
memcache.redundancy    1    1

4,下载wordpress memcache插件

wget https://downloads.wordpress.org/plugin/memcached.3.0.1.zip

把object-cache.php解压到wp-content目录下

[root@bogon wp-content]# ls
index.php  languages  object-cache.php  package.xml  plugins  themes  upgrade  uploads
[root@bogon wp-content]#

最后比较服务器

安装了memcache缓存的版本,首页性能:

3 queries in 0.451 seconds, using 13.56MB memory

没有启用缓存的系统,首页性能:

queries in 1.336 seconds, using .98MB memory

可以看见有很明显的提升,其他页面都会被优化,缓存到

相关推荐