Cloudways 部署 WooCommerce 内存优化指南

最后复核:2026年9月2日
Cloudways 部署 WooCommerce 内存优化指南

💡 核心摘要

  • Allowed memory size exhausted 报错弹出来的时候,大多数人第一反应是把 PHP Memory Limit 往上调,但这经常是在治标不治本
  • 这篇文章讲清楚 PHP 内存上限和服务器物理内存的区别、该按什么顺序排查内存问题,以及 Redis、Cron、插件、数据库这几个真正决定 WooCommerce 能不能跑稳的环节该怎么调
💡
📩

Shopify 免费代开服务

规避繁琐的注册合规流程。提交需求,由我们通过机构专属渠道为您免费配置到位。

提交 Shopify 代开申请

内存报错弹出来先别急着调 PHP Memory Limit,大概率是别的地方在吃内存。WooCommerce 比普通 WordPress 站点吃资源得多——商品、购物车、结账、后台订单、Cron、各种插件和数据库查询,全都在往 PHP 和 MySQL 的内存里加负担。常见的表现是 Allowed memory size exhausted 报错、后台打开订单卡顿、结账页加载慢、PHP 进程占着大量 RAM、服务器频繁弹出高内存告警,偶尔还会出现 502 或 503。

先建立一个关键认知:PHP Memory Limit 高,不代表服务器真的有更多 RAM 可用。 这是整篇文章最该先讲清楚的概念,也是大多数人一上来就调错方向的原因。


内存该配多少,两种起步思路都有道理

没有一个适用于所有网站的固定数字,可以用下面这张表作为部署起点:

WooCommerce 规模 建议服务器 RAM PHP Memory Limit
测试站/小型商城 2GB 256MB
小型生产站 2-4GB 256-512MB
中型商城 4-8GB 512MB 左右
大型商城 8GB+ 根据实际负载调整

也有评测直接建议 WooCommerce 站从 512MB 起步、小型站至少留 2GB。这两种思路都不算错——一种是"保守起步、出问题再加",一种是"直接给够避免反复折腾",选哪种取决于你愿不愿意花时间盯着日志排查。真正不建议做的是一步到位调到 1GB:如果服务器同时跑着多个 PHP Worker,每个 Worker 都按上限吃内存,服务器实际压力可能反而更大。


PHP Memory Limit 和服务器 RAM 是两回事

PHP Memory Limit 表示单个 PHP 请求允许使用的最大内存上限,Server RAM 表示整台服务器的物理内存资源。服务器有 4GB RAM,不代表每个 PHP 进程都能各自用满 4GB。假设有 6 个 PHP Worker,每个峰值占用 150MB,光 PHP 这一项就是 900MB,再加上 MySQL、Redis、Nginx、操作系统本身和 Cron,4GB 很快就会开始吃紧。提高 PHP Memory Limit 解决不了这类问题。

在 Cloudways 后台修改这个参数的路径是进入 Application 管理,找到 PHP 相关设置,把 Memory Limit 从 256M 调到 512M(不同界面版本命名略有差异,找到 PHP Settings 这个板块即可)。除了 memory_limit,产品变体多、结账字段复杂的站点,通常还要一起调 max_execution_time、max_input_time、max_input_vars 这几个参数,只调内存上限而不管这几项,有时候问题照样出现,只是换了个报错方式。


先判断到底是谁在吃内存

看到 RAM 占用 80%,不要直接改 PHP 设置。先看 PHP 是不是大量 Worker 在占用,MySQL 有没有高内存或者高 CPU 的情况,Redis 配置是否合理,Cron 有没有产生大量后台任务,WooCommerce 扩展、Elementor、安全插件、备份插件这类高资源组件有没有装太多,以及是不是有大量 Bot 或爬虫在持续访问网站消耗资源。

PHP-FPM Worker 数量是最容易被忽视的一项。很多人只盯着服务器有多少 RAM,不知道 Worker 数量本身就是一个变量——4GB RAM 配过多的 PHP Worker,可能比 4GB RAM 配合理数量的 Worker 更容易内存不足,因为每个 Worker 都会占用一定内存。Worker 太少的表现是页面排队、结账卡顿、后台请求等待、TTFB 升高,CPU 可能并不高,但网站依然很慢;Worker 太多则可能在高峰期迅速把 RAM 吃满,出现 Swap、OOM、502/503,MySQL 也会跟着受影响。这个数字要根据服务器 RAM 和实际请求量调整,不是照搬网上一个通用参数就能用。


Redis Object Cache,通常比单纯加内存更值得优化

对 WooCommerce 来说,开启 Redis Object Cache 往往比单纯提高 PHP Memory Limit 更有效。它的作用是缓存数据库对象和查询结果,减少 WordPress 反复读取 MySQL 的次数,对商品、用户账户、分类这类动态数据比较多的站点尤其有价值。Cloudways 新建的服务器默认自带 Redis,通过 Object Cache Pro 插件启用即可。

但 Redis 解决不了所有缓存问题。WooCommerce 有大量动态内容,购物车、结账、账户页面不能像博客首页那样做整页静态缓存——Object Cache 和 Page Cache 是两码事,前者管数据库查询,后者管页面重复生成,混着理解容易在缓存配置上踩坑。最容易出问题的地方就是错误地把 /cart//checkout//my-account/ 这几个路径加入了页面缓存,一旦缓存了这些页面,A 用户的购物车内容可能被 B 用户看到,或者结账状态出现异常,这几个路径必须明确排除在页面缓存之外。


插件数量、Elementor 和后台 Cron

插件是最简单也最容易被忽略的排查方向,尤其是 SEO、安全、备份、分析、邮件、页面构建器和 WooCommerce 扩展这几类。如果有五个不同插件同时监听 WooCommerce 的订单钩子,PHP 执行时间和数据库查询会一起涨上去,最终内存和 CPU 同时吃紧。Elementor 加 WooCommerce 是常见的内存大户组合,装了大量 Elementor Addon 之后后台会越来越重,别为了一个小功能装一个体积很大的插件。

WooCommerce 大量任务依赖 WP-Cron——订单相关任务、定时动作、邮件、Webhook、产品同步都靠它触发。有个经常被忽略的调整:WordPress 默认的 WP-Cron 是"伪 Cron",依赖访客访问网站才会触发检查,流量大或者订单多的站点,建议关掉这个默认机制,改成服务器级别的真实系统 Cron Job 定时触发,能明显减少每次页面加载时的额外开销。订单量增长之后,进入 WooCommerce 的 Status 页面查看 Scheduled Actions,重点看 Pending 和 Failed 数量,如果堆积明显,说明后台任务处理不过来,这时候该解决的是 Cron 和 Action Scheduler 本身的问题,而不是继续加服务器内存。


数据库和 Autoload 也值得查

WooCommerce 数据库会随着订单、客户、商品、Session 和日志不断增长,wp_actionscheduler_actions 这类表长期堆积也会拖累数据库性能,建议定期检查表大小、慢查询和 Transient 数据。另一个容易被忽视的地方是 WordPress 的 Autoload——很多插件会往 wp_options 表里写入大量标记为自动加载的数据,如果这部分数据量过大,每次请求都会连带加载一堆无关配置,RAM 占用和 TTFB 都会跟着上升。清理无用插件残留的 Autoload 数据,有时候比单纯加内存更立竿见影。


PHP 版本和上线前的 Staging 测试

尽量使用当前 Cloudways、WordPress、WooCommerce 以及已安装插件共同支持的较新稳定 PHP 版本,不要为了迁就某个老插件长期停留在过时版本上。修改 PHP 版本、内存限制、Worker 数量、Redis、缓存或数据库这类设置之前,先在 Staging 环境里改完测试,确认没问题再推送到生产环境,不要直接在订单持续产生的生产站点上一次性改动一堆设置。


什么时候该升级服务器,而不是继续调参数

如果已经完成插件清理、Redis、缓存、PHP 优化、数据库优化和 Cron 优化,RAM 依然长期在 90% 以上,或者 Swap 长期增长,这时候应该考虑升级服务器 RAM,而不是继续往上加 PHP Memory Limit。一个实用的判断标准:如果 Memory Limit 已经是 512M,但整台服务器的 RAM 已经长期接近 100%,继续调到 768M 或者 1GB 通常没有意义,问题不在这个参数上。订单量增长、产品数量明显增加、同时在线用户变多、PHP Worker 经常打满、MySQL 长期占用大量资源、Swap 频繁使用、高峰期出现 502/503,这几种情况出现时,升级服务器通常比反复微调参数更可靠。

最容易犯的一个错误是只测试首页速度、不测试真实的下单流程——首页加载快,不代表结账流程也正常,WooCommerce 的性能问题经常藏在购物车和结账这几个页面里,排查内存问题时这几步不能跳过。

🚀

读完就想动手?这是本文读者专属通道

经此链接下单即享专属优惠,同时支持我们持续创作。

❓ 常见问题(FAQ)

← 上一篇测评
用 Hostinger 搭建 WooCommerce 独立站,从零开始的完整流程

💬 评论区

还可输入 250 字

暂无评论,来说两句吧!

← 返回全部文章归档

我们使用 cookie 来改善体验和分析流量。点击"接受"即表示您同意我们使用 cookie。