
了解WordPress运行原理
WordPress作为一款现如今非常流行的内容管理系统,其使用的是PHP程序作为后端服务,由PHP进行HTML内容渲染,然后传入用户浏览器,所以要加速WordPress只需要注重两个过程:后台渲染速度和前台网页加载速度:
- 后台渲染速度 主要由PHP负责,由PHP查询数据库,生成HTML内容再返回给浏览器。
- 前台网页加载速度 主要取决于用户与服务器之间的网速以及请求的内容大小。
后台渲染速度在一些主题是自带的,例如子比主题,浏览器按F12查看控制台就能知道后台渲染时间用了多久,如图所示:

如果主题没有自带可能就需要自行添加代码或者使用查看进行查看,代码不确定兼容性,请自行查询或者编写,插件的我推荐Query Monitor – 【查询监视器】WordPress 的开发人员工具面板 – WordPress 插件 | WordPress.org China 简体中文,使用效果如下:

算是非常🐂🍺的一个插件了,就是在日常使用中记得禁用。
前台加载速度影响的因素比较多:
- 服务器NGINX配置
- 服务器和用户带宽
- 网页内容大小
NGINX需要开启BR压缩和开启HTTPS3,推荐看我之前写的宝塔NGINX优化-升级OpenSSL提升HTTP3性能-小怪兽BLOG和宝塔NGINX优化-启用 QUIC 与 Brotli-小怪兽BLOG文章
服务器和用户带宽就看个人财力了,这个无需多说。
网页内容大小包括页面文字内容、CSS、JS、图片、字体这些,要么看主题开发者优化要么就是自己使用第三方插件进行优化,因为我常用子比主题,作者已经优化的十分可以了,所以不在过多讲解,具体优化了什么查看wordpress网站使用Redis缓存和PHP opcache为网站加速详细图文教程-zibll子比主题该文章。
优化概括
- 前台优化:使用CDN缓存图片、视频、js、css等静态文件
- 后台优化:不建议使用全静态缓存,会导致很多交互功能不能用
- 后台优化:推荐使用Redis或Memcached缓存功能,不会有任何负面影响
- 后台优化:推荐使用opcache进行PHP加速优化
CDN都说是加速,其实是减速的,这里需要纠正一下,因为使用CDN,客户端到源站其实是绕了路,但是为什么又说是加速了,因为CDN用它的节点帮你缓存了网站的多数静态内容(图片、视频、JS、CSS),这能有效降低服务器压力,源站几乎只需要输出主内容就行了所以总体来说是加速的。
但是如果你的网站足够NB,比如超多核心,超大内存,千兆带宽,线路还是BGP,还是高防御,压根不需要CDN。
这里再多说一句:真实防御贵的离谱!如果做大了建议还是找知名商家买防御,淘宝上卖高防的就看个乐呵图个心理安慰就是了,不能多说,说多了可能我网站就没了。
Redis优化教程查看以下文章:
Redis Object Cache Pro 配置详解及如何开启高性能模式-小怪兽BLOG
【WordPress免费插件】Object Cache Pro (Redis Cache Pro) v1.24.2-小怪兽BLOG
OPcache优化详解
根据PHP的执行逻辑,每一个PHP函数在执行的时候php会先把此函数进行编译解析。OPcache是PHP官方公司开发的一款PHP优化加速扩展,它的原理把PHP函数编译解析后的内容进行缓存,从而提高PHP的执行速度!根据测试,能有效的提高2到5倍左右的执行效率。
宝塔安装OPcache非常简单,直接点击安装,然后重启PHP服务即可。

我个人比较常用PHP8.0以上的版本,所以会根据官方文档讲解每个配置的具体含义,已经遗弃了的配置将不再进行讲解。
- opcache.enable:启用操作码缓存。如果禁用此选项,则不会优化和缓存代码。
- opcache.memory_consumption:OPcache 的共享内存大小,以兆字节为单位。最小允许值为
"8"。如果设置的值小于最小值,则强制设置为允许的最小值。 - opcache.interned_strings_buffer:用来存储预留字符串的内存大小,以 MB 为单位。最大值在 64 位架构上为 32767,在 32 位架构上为 4095,PHP 8.4.0 之前,所有架构上的最大值都是 4095 MB。
- opcache.max_accelerated_files:OPcache 哈希表中可存储的脚本文件数量上限。真实的取值是在质数集合
{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }中找到的第一个大于等于设置值的质数。设置值取值范围最小值是 200,最大值是 1000000。超出范围的值将限制为允许的值。 - opcache.max_wasted_percentage:如果可用内存不足,在计划重新启动之前,允许浪费的最大内存百分比。最大允许值是
"50",如果设置了更大的值,则强制设置为允许的最大值。 - opcache.use_cwd:如果启用,OPcache 将在哈希表的脚本键之后附加改脚本的工作目录, 以避免同名脚本冲突的问题。 禁用此选项可以提高性能,但是可能会导致应用崩溃。
- opcache.validate_timestamps:如果启用,那么 OPcache 会每隔 opcache.revalidate_freq 设定的秒数 检查脚本是否更新。 如果禁用此选项,你必须使用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效,如果将 opcache.file_update_protection 或 opcache.max_file_size 选项设置为非零值,OPcache 仍可能在编译时验证文件的时间戳。
- opcache.revalidate_freq:检查脚本时间戳是否有更新的周期,以秒为单位。 设置为
0会导致针对每个请求, OPcache 都会检查脚本更新,如果 opcache.validate_timestamps 配置指令设置为禁用,那么此设置项将会被忽略。 - opcache.revalidate_path:如果禁用此选项,在同一个 include_path 已存在的缓存文件会被重用。 因此,将无法找到不在包含路径下的同名文件。
- opcache.save_comments:如果禁用,脚本文件中的注释内容将不会被包含到操作码缓存文件, 这样可以有效减小优化后的文件体积。 禁用此配置指令可能会导致一些依赖注释或注解的 应用或框架无法正常工作, 比如: Doctrine, Zend Framework 2 以及 PHPUnit。
- opcache.enable_file_override:如果启用,则在调用函数 file_exists(), is_file() 以及 is_readable() 的时候, 都会检查操作码缓存,无论文件是否已经被缓存。 如果应用中包含检查 PHP 脚本存在性和可读性的功能,这样可以提升性能。 但是如果禁用了 opcache.validate_timestamps 选项, 可能存在返回过时数据的风险。
- opcache.optimization_level:控制执行哪些优化的二进制位掩码。默认是应用所有安全优化。更改默认值对于调试/开发优化器非常有用(参见 opcache.opt_debug_level)。
- opcache.blacklist_filename:OPcache 黑名单文件位置。 黑名单文件为文本文件,包含了不进行预编译优化的文件名,每行一个文件名。 黑名单中的文件名可以使用通配符,也可以使用前缀。 此文件中以分号(;)开头的行将被视为注释。
- opcache.max_file_size:以字节为单位的缓存的文件大小上限。设置为
0表示缓存全部文件。 - opcache.force_restart_timeout:如果缓存处于非激活状态,等待多少秒之后计划重启。 如果超出了设定时间,则 OPcache 模块将杀除持有缓存锁的进程, 并进行重启,如果选项 opcache.log_verbosity_level 设置为 2 或者 2 以上的数值,当发生重启时将在日志中记录一条警告信息。
- opcache.preferred_memory_model:OPcache 首选的内存模块。 如果留空,OPcache 会选择适用的模块, 通常情况下,自动选择就可以满足需求,可选值包括:
mmap,shm,posix以及win32。 - opcache.file_update_protection:如果文件的最后修改时间距现在不足此项配置指令所设定的秒数,那么这个文件不会进入到缓存中。 这是为了防止尚未完全修改完毕的文件进入到缓存。如果所有文件更新都是原子的,则可以通过将其设置为
0来提高性能。这将允许文件立即缓存。 - opcache.huge_code_pages:启用或者禁用将 PHP 代码(文本段)拷贝到 HUGE PAGES 中。这应该会提高性能,但是需要适当的 OS 配置。自 PHP 7.0.0 起可在 Linux 上使用,自 PHP 7.4.0 上可在 FreeBSD 上使用。
- opcache.file_cache:配置二级缓存目录并启用二级缓存。 启用二级缓存可以在 SHM 内存满了、服务器重启或者重置 SHM 的时候提高性能。 默认值为空字符串
"",表示禁用基于文件的缓存。 - opcache.file_cache_only:启用或禁用在共享内存中的 opcode 缓存。
- opcache.file_cache_consistency_checks:当从文件缓存中加载脚本的时候,是否对文件的校验和进行验证。
- opcache.preload:指定要在服务器启动时期进行编译和缓存的 PHP 脚本文件, 这些文件也可能通过 include 或者 opcache_compile_file() 函数 来预加载其他文件。 所有这些文件中包含的实体,包括函数、类等,在服务器启动的时候就被加载和缓存, 对于用户代码来讲是“开箱可用”的。
- opcache.preload_user:预加载以指定系统用户身份运行。这对于切换到非特权系统用户之前以 root 身份启动的服务器很有用。考虑到安全因素,默认禁止以 root 身份预加载代码,除非该指令明确设置为
root。自 PHP 8.3.0 起,当使用 CLI SAPI 或 phpdbg SAPI 以 root 身份运行时,无需设置此指令即可允许预加载。 - opcache.jit:
针对经典用法,此选项接受以下四个字符串值之一:
disable:完全禁用,无法在运行时启用。off:禁用,但可以在运行时启用。tracing/on:使用追踪 JIT。默认启用并推荐给大部分用户。function:使用函数 JIT。
针对高级用法,此选项接受 4 位整数
CRTO,其中的位分别是:C(特定 CPU 优化 flag)-
0:禁用特定 CPU 优化。1:如果 CPU 支持则启用 AVX。
R(寄存器分配)-
0:不执行寄存器分配。1:执行局部域寄存器分配。2:执行全局寄存器分配。
T(触发)-
0: 在脚本加载时编译所有函数。1: 在第一次执行时编译函数。2:第一次请求时分析函数,然后编译最热门函数。3:动态分析和编译热门函数。4:目前未使用。5:使用追踪 JIT。动态分析和为热门代码段编译追踪。
O(优化级别)-
0:不 JIT。1:最小 JIT(调用标准 VM 处理程序)。2:内联 VM 处理程序。3:使用类型推断。4:使用调用图。5:优化整个脚本。
"tracing"模式对应CRTO = 1254,"function"模式对应CRTO = 1205。 - opcache.jit_buffer_size:为编译 JIT 代码保留的共享内存量。值 0 表示禁用 JIT。
- opcache.jit_prof_threshold:当使用“首次请求时分析”触发模式时,此阈值确定是否视函数为热点。对该函数的调用次数除以所有函数的调用次数必须高于该阈值。例如,阈值为 0.005 表示占所有调用次数超过 0.5% 的函数将被进行 JIT 编译。
请根据自己服务器配置是主题情况进行配置,以下是针对PHP8.4和子比主题优化的OPcache配置:
; 基础缓存开关(保持启用)
opcache.enable = 1
; 内存配置(根据你的设置优化)
opcache.memory_consumption = 512 ; 保留原配置(128M足够WordPress+大量插件)
opcache.interned_strings_buffer = 64 ; 保留原配置(32M适合多插件场景的字符串复用)
; 文件缓存优化
opcache.max_accelerated_files = 30000 ; 从80000下调(WordPress+插件实际需求约5000-10000,过大浪费内存)
opcache.max_wasted_percentage = 10 ; 新增:控制内存浪费阈值,避免频繁清理
; 缓存验证策略(针对WordPress优化)
opcache.revalidate_freq = 60 ; 从3秒上调(减少验证频率,生产环境推荐)
opcache.validate_timestamps = 1 ; 新增:保持自动验证(配合revalidate_freq平衡性能与更新)
; 性能增强
opcache.fast_shutdown = 1 ; 保留(快速关闭机制)
opcache.save_comments = 1 ; 新增:保留注释(部分WordPress插件依赖注释解析)
opcache.enable_file_override = 0 ; 新增:禁用文件覆盖(避免插件文件冲突)
; CLI配置调整
opcache.enable_cli = 0 ; 从1关闭(WordPress很少使用CLI模式,关闭节省资源)
; JIT编译优化(PHP 8.4核心特性)
opcache.jit_buffer_size = 256M ; 保留原配置(128M适合复杂业务逻辑)
opcache.jit = 125 ; 从1205简化(125等价于1205,官方推荐写法,更易维护)
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

暂无评论内容