解决wordpress站Waiting(TTFB)时间过长 利用Cachify插件实现网站加速方法

1192人参与 |分类: 技术文章|时间: 2021年11月01日
当前位置:网站首页 > 技术文章 > 解决wordpress站Waiting(TTFB)时间过长 利用Cachify插件实现网站加速方法

昨天优化了一个站,日访问IP5万左右,服务器32G16H,有CDN,开启了Memcached,前端访问非常快,后端登录后很慢,Waiting(TTFB)时间基本上在1分钟左右,通过各种检查,发现实际上还是有很多优化的空间。比如缓存加速,直接把内容缓存到内存当中去,进行网站加速。这里博主就介绍一下利用Cachify插件实现网站加速, Cachify插件可以说是wordpress必备的插件之一了,对于这个站提速非常明显。

111.png

Cachify缓存插件描述

Cachify 通过将文章,页面和存档页面缓存为静态内容来优化页面加载。我们可以根据需要选择把静态内容缓存到 WordPress 数据库,硬盘,APC(PHP 缓存)或者 Memcached 中。用户再次访问页面时,直接从缓存中读取页面给用户,不用再查询数据库了。真正的做到了数据库0查询。它能够有效缩短TTFB 时间过长,甚至优化的50ms以内。Cachify 插件只会缓存用户访问过的页面,长时间没有用户再次访问的页面,Cachify 会从缓存中把这个页面清除掉,确保缓存高效。

Cachify缓存插件的特性

适用于自定义文章类型。

缓存方法:DB,HDD,APC 和 Memcached。

通过 WordPress 工具栏中的 “刷新缓存” 按钮删除缓存。

支持 WordPress 多站点。

可以选择压缩 HTML 或 JavaScript。

可以为用户浏览器和文章设置不缓存。

手动和自动删除缓存。

自动缓存管理。

可以查看缓存状态的仪表板小部件。

Apache 和 Nginx 服务器的设置。

通过钩子/过滤器扩展插件。

Cachify 插件只会缓存用户访问过的页面,长时间没有用户再次访问的页面,Cachify 会从缓存中把这个页面清除掉,确保缓存高效。

1、首先确认服务器支持 Memcached

这里以宝塔面版为例,启用PHP的 Memcached 扩展。这里是已经启用的状态。

0.png

2、然后下载Cachify插件安装启用

到Wordpress后台直接搜索Cachify插件即可安装,并点击启用

启用Cachify插件后界面如下图,配置自行参考 :

3、保存后再写代码

以宝塔面版为例,Nginx 配置文件中添加以下配置,重启 Nginx。

#宝塔面板直接在网站的伪静态规则里修改即可。

location / {

 #注释掉原有的规则

 #try_files $uri $uri/ /index.php?$args;

  #启用Cachify开始

   error_page 404 405 = @nocache;

    if ( $query_string ) {

        return 405;

    }

    if ( $request_method = POST ) {

        return 405;

    }

    if ( $request_uri ~ "/wp-" ) {

        return 405;

    }

    if ( $http_cookie ~ (wp-postpass|wordpress_logged_in|comment_author)_ ) {

        return 405;

    }

    default_type text/html;

    add_header X-Powered-By Cachify;

    set $memcached_key $host$uri;

    memcached_pass 127.0.0.1:11211;

   #启用Cachify结束

}

#启用Cachify开始

location @nocache {

    try_files $uri $uri/ /index.php?$args;

}

#启用Cachify结束

#以下为原配置规则,继续保留

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

如下图:

3.png

现在重新加载一下网站,看看waiting ttfb加载时长。

以下是本站ctrl+F5强制刷新的效果

cachifywordpressttfb3.png

本文来源:廖维林博客,转载请保留出处和链接!

本文地址: