WordPress 搭配 MySQL 和 PHP 运行时的内存占用取决于多个因素,包括网站规模、插件数量、主题复杂度、流量大小以及服务器配置等。以下是一般情况下的内存占用估算:
1. PHP 内存占用(单次请求)
- 默认设置:PHP 的
memory_limit通常设置为 128MB 或 256MB。 - 实际使用:
- 简单页面(如静态文章):约 30–60MB
- 复杂页面(含多个插件、动态查询):可能达到 100–200MB
- 使用大量插件(如 WooCommerce + SEO + 缓存等):可能超过 256MB
⚠️ 建议将
memory_limit设置为至少 256MB,以避免“Allowed memory size exhausted”错误。
2. MySQL 内存占用
- 基本运行:MySQL 启动后基础内存占用约为 100–300MB
- 高负载/大数据库:可上升至 500MB–1GB+
- 关键参数影响内存使用:
innodb_buffer_pool_size:建议设为物理内存的 50%~70%(例如 1GB 内存可设为 512MB)- 其他缓存(query cache、tmp table 等)
3. Web 服务器(Apache/Nginx)
- Nginx:轻量,每个进程约 2–10MB,适合低内存环境
- Apache(使用 mod_php):较重,每个子进程可能占用 15–50MB,并发多时内存增长快
推荐使用 Nginx + PHP-FPM 组合以降低内存消耗。
4. 整体系统内存需求(典型部署)
| 配置 | 最小推荐内存 | 实际运行占用 |
|---|---|---|
| 小型站点(博客,少量插件) | 512MB – 1GB | 空闲时 ~300MB,高峰时 <1GB |
| 中型站点(WooCommerce、SEO、缓存插件) | 1GB – 2GB | 常驻 800MB–1.5GB |
| 大型站点(高流量、多插件、复杂功能) | 2GB+ | 可能超过 2GB |
5. 优化建议
- 使用 OPcache:减少 PHP 脚本重复编译,节省 CPU 和内存
- 使用 对象缓存(如 Redis 或 Memcached):减轻数据库压力
- 避免加载过多插件,定期审查性能
- 使用轻量 Web 服务器(如 Nginx)
- 合理配置 MySQL 缓存参数
总结
- 最小可行配置:512MB RAM(仅适用于极轻量站点)
- 推荐配置:1GB–2GB RAM 是大多数 WordPress 站点的良好起点
- 生产环境建议:至少 2GB RAM,搭配 swap 分区以防突发内存需求
💡 示例:一个中等流量的 WordPress 博客(Nginx + PHP-FPM + MySQL + Redis),在空闲状态下可能占用 600MB 左右内存,高峰期可能接近 1.2GB。
合理优化后,即使在 1GB 内存 VPS 上也能流畅运行中小型 WordPress 站点。
云服务器