相信建站的朋友都十分关心网站速度问题了,子比主题一直在强调极速优化这次词语,同时在之前的很多文章中我也简单的介绍了子比主题的关于速度优化的一些原理。理论上来讲使用子比主题搭配一个不是太差的服务器,那么就已经很快了,如果你想让你的网站变得更快,那么看了这篇文章,我相信完全够了。
![图片[1]-子比主题站点速度优化(使用 Memcached 内存缓存来提高 WordPress 站点速度教程)-卡卡时光记录](https://www.kakaall.com/wp-content/uploads/2022/09/20220919224400-1.jpg)
主题优化介绍
为了让大家了解什么是极速优化,首先我必须的得再次介绍一下主题是如何做的。
简单的说一个网站打开的流程:wordpress使用PHP为后端服务,由PHP进行html内容渲染,然后传入用户浏览器。
那么这里我们从速度优化上来讲主要需要重视的两个过程:后台渲染速度
和前台网页加载速度
后台渲染速度
主要由PHP负责,由php查询数据库,生成html内容再返回给浏览器前台网页加载速度
主要取决于用户与服务器之间的网速以及请求的内容大小
那么这里我们先说前台加载速度,这一部分最简单易懂,简单的说就是网速快不快,内容大不大。
子比主题在前台加载速度优化上做了哪些优化呢?
- 全局所有js文件,css文件动态按需加载,注意这个按需加载并不是你开启了这个功能就加载对应的文件,而是说这个页面有这个功能,才会加载这个文件。举例说明:主题V5.2开启自带了视频播放器功能,为了让视频播放器支持不同的流媒体格式,那么这个功能一共有4个JS文件组成(1个视频播放器主文件,3个流媒体格式支持文件),每个文件大约160KB。如果我们直接加载这四个文件,那就会有600多kb的内容了,如果你页面没有视频的话,这600kb的内容无疑就是浪费了!主题的动态按需加载就是为了解决这个问题,不管你是否开启此功能,主题会按照当前页面自动检测是否有视频,有的话的就加载对应的JS文件,同时自动分析支持的格式加载对应的格式支持js文件,不需要的文件一律不加载!同理,其它js和css均采用此原来动态按需加载。
- 全局所有JS,CSS文件均采用UglifyJS标准进行压缩使用,同时保留了未压缩文件,方便有需要的用户进行修改!
- 全局所有图片均支持异步懒加载,图片可以说是一个网站最占流量的内容了,开启图片懒加载之后,在用户进入网页的时候不会加载任何图片以提高页面打开速度,然后当用户浏览页面的时候,根据需要,用户看哪里的就加载哪里的图片,当然是提前加载,不会影响用户体验
- 部分JS,CSS内容延迟加载。有一部分的功能可能不会是用户最需要的,或者不是打开页面立即就会使用的,那么这样的功能所需要的文件,我们将它放置在页面全部加载完成之后再进行加载。比如海报分享功能、一言功能、文章目录等功能:使用率较低,并且一般打开页面用户也不会立即使用此功能。
- 大量的AJAX不刷新加载功能,AJAX就是不刷新加载内容,比如AJAX下一页,ajax tab等,有效的减少请求内容,提高页面加载速度,主题的AJAX功能全部使用在不影响SEO的内容中!
- 框架内容支持CDN加速,这个一般适用于海外服务器,国内访问较慢的话可以在主题设置开启。
除了以上部分其实还有很多的细节,这是在开发的过程中就一直放在重心的内容。当然除了加载速度,同时主题也在用户浏览体验上做了很多的优化,主题90%的动画效果均采用基于硬件加速的动画参数,确保所有动画效果思思顺滑不掉帧,比如幻灯片、图片灯箱等。同时在js函数和CSS函数编写的时候均采用高效的执行逻辑,避免重复、避免使用高负荷函数等。
后台主要采用php以及数据库进行页面渲染,主题开发中保持良好的开发逻辑,并且使用WP官方Object Cache对象缓存机制,确保函数的高效执行,有效的提高渲染速度
这里就先简单的介绍到这里,更多内容请到子比主题官网阅读。
什么是 Memcached?
Memcached 是一种高性能的分布式内存对象缓存系统,在动态程序中使用 Memcached, 既能提高访问的速度,同时还减低了数据库的负载。
Memcached 可以存储来自调用数据库和 API,或者页面渲染生成的任意类型的数据(字符串,对象)到内存中,也可以直接到内存中去读取。它的 API 支持目前大部分流行的编程语言,Memcached 的官方网站:http://memcached.org/,最初 Danga Interactive 为提升 LiveJournal.com 的速度而研发了 Memcached,目前,最终实现了每天已经在向一百万用户提供多达两千万次的页面访问,而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。
PHP 有两个 Memcached 扩展:“PHP Memcache 扩展” 和 “PHP Memcached 扩展”,这就是是我们搞混的地方。
PHP Memcache 扩展用 PHP 实现的,支持面向对象和面向过程两种接口,2004年就实现了,是老的扩展,而且功能少,属性也可设置的少。
PHP Memcached 扩展基于 libmemcached 开发的,使用 libmemcached 库提供的 API 与 Memcached 服务进行交互,只支持面向对象的接口,2009年才实现,Memcached 扩展功能更加完善,支持的函数更多,比如支持批量操作,现在一般建议使用 Memcached 扩展。
下面是一个支持功能对照列表:
![图片[2]-子比主题站点速度优化(使用 Memcached 内存缓存来提高 WordPress 站点速度教程)-卡卡时光记录](https://www.kakaall.com/wp-content/uploads/2022/09/20220919224015.jpg)
由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次访问的时候直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。
![图片[3]-子比主题站点速度优化(使用 Memcached 内存缓存来提高 WordPress 站点速度教程)-卡卡时光记录](https://www.kakaall.com/wp-content/uploads/2022/09/20220919224400.jpg)
上图是kaka时光站点使用 Memcached 之后的缓存对象的命中率,可以看出命中率是非常高,接近 99%,基本上可以保证所有数据都是从能内存中取,所以使用 Memcached 进行缓存是非常有效的。
首先需要明确一点,必须同时安装 Memcached 服务端和其 PHP 扩展。
如果安装了 Memcached 服务端不安装扩展,那么 PHP 无法操控 Memcached。同样如果安装了 PHP Memcached 扩展,但是没有安装 Memcached 服务端,那么这个就无法使用。
1. 首先服务器需要安装 Memcached 服务端,然后 PHP 需要安装上 Memcached 的扩展,再次注意 PHP 有两个扩展:PHP Memcache 扩展 和 PHP Memcached 扩展,两者仅仅相差一个字母 D,你可以通过 phpinfo()
这个 PHP 函数来查看到底安装的是哪个扩展,一定要使用 PHP Memcached 扩展。
4. 安装成功之后,WP 会自动在 WordPress > WP菜单下的的「系统信息」 下看到 Memcached 的信息:
![图片[4]-子比主题站点速度优化(使用 Memcached 内存缓存来提高 WordPress 站点速度教程)-卡卡时光记录](https://www.kakaall.com/wp-content/uploads/2022/09/20220919224930.jpg)
插件已经集成了 Memcached,下载 之后,将 wpjam-basic/template/
目录下的 object-cache.php
文件复制到 wp-content
目录下即可。如需要该款插件,请评论区留言获取。
-------本页类容已结束,喜欢请分享-------
感谢您的来访,获取更多精彩文章请收藏本站。

暂无评论内容