怎么加速国外网站(手机怎么加速国外网站)

WordPress访问速度绝对是新WordPress站长最头疼的问题之一。如果你用过其他的建站系统,比如ThinkPHP、智萌等国产CMS,你会发现即使装了最纯

WordPress访问速度绝对是新WordPress站长最头疼的问题之一。如果你用过其他的建站系统,比如ThinkPHP、智萌等国产CMS,你会发现即使装了最纯粹的WP,也没有插件,没有发表过文章,访问速度还不如这些国产系统。

WordPress速度优化最后一招,用Opcache实现前后端全站加速

加速wordpress加速wordpress

这个问题困扰我们团队很久了。随着对WordPress了解的深入,我们会发现一些线索,比如它的钩子加载机制,插件挂载机制,数据库表结构等。它们被设计得过于灵活,非常适合低代码的站点构建者,但是它们也损失了很多性能。

关于优化WordPress访问速度的教程太多了,但大部分都是围绕着移除Google字体、安装缓存插件、优化数据库、压缩图片、静态脚本文件等常规手段。

其实最有效的就是安装缓存插件。设置好之后,前台的访问速度会大大提高,但是这个方案也是非常有限的——只适合缓存静态页面,非常适合企业展示类网站;对于一些需要动态渲染的网站,比如无忧在线课堂等会员系统的网站,页面需要根据用户是否登录来显示不同的内容,不能简单的通过缓存插件来加速;比如WordPress后台也是动态渲染形式,但是无法通过缓存插件来加速。

对于动态渲染页面的加速,我们之前其实总结过一些干货:10年经验的终极盘点,彻底解决WordPress后台访问慢的问题;

以上教程可以解决一些问题。但是我们在开发无忧在线课堂系统的时候,引入了可视化自助建站的概念,增加了课程收费和付费会员的功能。一切都是根据WP标准开发的。虽然做了所有的优化,但由于函数庞大,访问速度可能无法满足。

所以我们探索了一种新的优化方式,利用PHP的Opcache扩展,操作非常简单,提速效果明显。

WordPress速度优化最后一招,用Opcache实现前后端全站加速

OPCacheOPCache

看看没有Opcache优化的访问速度测试:

WordPress速度优化最后一招,用Opcache实现前后端全站加速

访问速度测试访问速度测试

使用Edge浏览器的网速测试工具。

这是经过一系列常规优化后的速度。服务器配置是阿里云2核CPU/4G内存/5M带宽的C5实例。打开所有网站用了2.52秒,可以感觉到明显的卡顿。如果追求极致的访问速度,这肯定是不行的;

通过截图数据可以看到,发送请求用了0.1ms,很快,下载内容用了39.02ms,也很快;最耗时的部分是“等待(TTFB)”,耗时2.47秒。这部分发生在服务器收到请求之后,内容开始下载之前,也就是服务器处理用户发送的请求并生成返回内容的时间。应该包括代码逻辑执行、数据库查询、文件读取等步骤。其实我们已经优化了数据库部分,文件读取依赖于磁盘的IO性能。而且在网站访问量少的情况下,不应该成为瓶颈。

现在我们来看看今天的主角,Opcache。

Opcache是PHP官方出品的性能优化扩展。从PHP5.5开始就绑定了,但默认不开启。

Opcache的工作原理

至于它的工作原理,下面简单介绍一下。感兴趣的朋友可以看看,不感兴趣的可以直接跳过看怎么配置和使用。

要解释清楚Opcache的原理,必须从PHP语言如何处理http请求说起。总共有四个步骤:

接收到请求后,启动Zend引擎,加载注册的拓展模块;初始化后读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析,生成语法树;Zend引擎编译语法树,生成opcode;Zend引擎执行opcode,返回执行结果;

Zend可以看作是一台运行PHP语言的机器。机器在收到用户的请求后,必须先启动,然后处理PHP语言编写的代码,生成计算机能理解的代码,最后执行代码得到结果。

用户每发送一次请求,上述过程都要重新做一遍(php-fpm表单中不再重复第1步)。服务器每天要处理的请求数量非常巨大,所以上述过程消耗了大量的性能。实际上,对于一个在线网站来说,源代码很少改变,因此没有必要每次都执行步骤1、2和3。Opcache用于缓存步骤1/2/3。

Opcache使用方法

以宝塔面板为例:

去软件商店找到你正在使用的PHP版本。我们用的是PHP7.4,点击设置,如下图:

WordPress速度优化最后一招,用Opcache实现前后端全站加速

PHP设置PHP设置

找到Opcache,点击安装。

WordPress速度优化最后一招,用Opcache实现前后端全站加速

PHP拓展安装展开PHP安装

Opcache安装成功后会自动生效,但是Pagoda面板的默认设置可能会有问题,所以需要检查配置:

进入PHP的配置修改,查看下面的代码:

WordPress速度优化最后一招,用Opcache实现前后端全站加速

Opcache设置Opcache设置

重点关注以下几行:

opcache.memory_consumption

指Opcache的可用内存大小,单位为MB,一般根据你的服务器内存设置为内存的1/4。我们有4G内存,所以设置为512;

opcache.max_accelerated_files

指的是可以缓存的PHP文件的最大数量,取决于你的代码量,通常是10-20万;

opcache.validate_timestamps

指缓存过期时间,必须设置为0,表示禁用,否则会出现很多缓存重复生成的问题;

在下面张贴完整的配置:

opcache.enable = 1

opcache.memory_consumption=512

op cache . interned _ strings _ buffer = 32

op cache . max _ accelerated _ files = 80000

opcache.revalidate _ freq = 3

opcache.fast_shutdown=1

opcache.enable_cli=1

opcache.validate_timestamps=0

看看加速效果:

需要注意的是,第一次访问速度不会更快,因为会产生缓存,所以测试第二次访问速度。

还是以无忧在线课堂系统为例:

WordPress速度优化最后一招,用Opcache实现前后端全站加速

优化后速度测试优化速度测试

可以看到TTFB时间缩减到了668毫秒,整体访问速度也在1秒以下,基本实现了秒开效果。

Opcache的操作注意事项

Opcache看起来很美,但也有一些缺点:

Opcache生成的缓存是常驻内存的,网站代码量很大的话会占用大量内存,所以服务器内存太低的话不建议使用;每次代码有更新都需要手动重新生成缓存,否则新代码不会生效,可以通过宝塔的重启PHP生效;线上正式环境务必关闭opcache.validate_timestamps选项,否则Opcache会不断检查代码是否有更新,并生成新缓存,这也会额外消耗服务器性能还有其他难以理解的问题;

其实这个方法适用于任何用PHP语言开发的网站。如果你的网站已经通过各种方式进行了优化,速度还是不理想,试试这个方案。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/152515.html

发表回复

登录后才能评论