温馨提示×

ubuntu lamp为什么慢

小樊
39
2026-10-24 14:32:56
栏目: 智能运维

“Ubuntu + LAMP 慢”通常不是单一原因,而是系统资源、配置、磁盘、网络或代码多方面叠加。下面按最常见原因 → 排查方法 → 解决建议给你梳理。


一、最常见原因(90% 情况)

1️⃣ 内存不足(最常见)

LAMP = Linux + Apache + MySQL + PHP
MySQL 和 Apache 都很吃内存。

现象

  • 访问网页卡
  • top 里 MySQL / Apache 占用高
  • 开始用 swap

检查

free -h
top

解决

  • 小内存机器(≤1G):
    • 关闭 Apache 改用 Nginx + PHP-FPM
    • 或 Apache 用 mpm_event
  • MySQL 调小:
    innodb_buffer_pool_size = 64M
    

2️⃣ Apache 配置太重(prefork)

Ubuntu 默认 Apache 常用 mpm_prefork

问题

  • 每个请求开一个进程
  • 并发稍高就卡死

检查

apache2ctl -M | grep mpm

解决

  • 改用 event + php-fpm(推荐)
sudo a2dismod php*
sudo apt install php-fpm
sudo a2enmod proxy_fcgi setenvif

3️⃣ MySQL 慢(没索引 / 配置差)

现象

  • 页面本身快,但查询慢
  • 后台 / 列表页特别慢

检查

mysql
SHOW PROCESSLIST;

解决

  • 加索引
  • 慢查询日志:
slow_query_log = 1
long_query_time = 1

4️⃣ 磁盘 IO 慢(云服务器 / 机械盘)

现象

  • 写日志、session、缓存时特别慢

检查

iostat -x 1

解决

  • session 放内存(tmpfs)
  • 日志不要频繁写
  • 用 SSD

5️⃣ PHP 没开 OPcache

每次请求都重新编译 PHP

检查

php -m | grep opcache

解决

sudo apt install php-opcache
opcache.enable=1

6️⃣ 网络 / DNS 问题

现象

  • 页面打开前卡几秒
  • 本地快,外部慢

常见原因

  • PHP 里 gethostbyname
  • mail() 发信
  • 外部 API 同步调用

二、快速自检清单(你照着做)

free -h
top
apache2ctl -M | grep mpm
php -m | grep opcache
iostat -x 1

三、我可以直接帮你定位

你可以告诉我:

  1. Ubuntu 版本(20.04 / 22.04?)
  2. 内存多大(1G / 2G / 4G?)
  3. Apache 还是 Nginx?
  4. 慢的是首页 / 后台 / 接口?
  5. 是不是 WordPress / Laravel / 自写 PHP?

我可以直接给你一套优化方案。

0 踩