温馨提示×

ubuntu apache为何访问缓慢

小樊
44
2026-09-05 07:40:59
栏目: 智能运维

Ubuntu 上 Apache 访问缓慢的原因有很多,下面按常见程度给你一个排查清单,你可以逐条对照。


一、服务器资源问题(最常见)

1. CPU / 内存不足

top
htop
free -h
  • 内存不足会频繁使用 swap → 极慢
  • CPU 跑满(如 PHP、MySQL 占用高)

✅ 解决:

  • 关闭不必要服务
  • 增加内存 / 升级配置
  • 优化 PHP、数据库

二、Apache 配置问题

2. MPM 模式不合理

查看当前 MPM:

apachectl -V | grep MPM

常见情况:

  • prefork:吃内存,并发稍高就慢
  • worker / event:更适合高并发

✅ 建议:

  • 静态内容多 → event
  • PHP 用 php-fpm + event

3. 并发连接数太低

/etc/apache2/mods-enabled/mpm_prefork.conf

示例(prefork):

StartServers 5
MaxClients 150

并发超过上限就会排队。


三、PHP 性能问题(非常常见)

4. 使用 mod_php 而不是 php-fpm

apachectl -M | grep php

如果有 php7_module → 性能较差

✅ 建议:

  • 改用 php-fpm + proxy_fcgi

5. 慢 PHP 代码 / 数据库查询

sudo apt install php-xdebug

或:

  • 开启 MySQL 慢查询日志
  • EXPLAIN 分析 SQL

四、DNS / 网络问题

6. Apache 做反向 DNS 查询

HostnameLookups Off

(在 apache2.conf 中)


7. 本地 hosts 问题

cat /etc/hosts

确保:

127.0.0.1 localhost

五、磁盘 / 文件问题

8. 磁盘 IO 高

iostat -x 1
  • 日志太大
  • 频繁写 session

✅ 解决:

  • 日志轮转
  • session 放内存(tmpfs)

9. 网站目录在慢存储

  • 机械硬盘
  • 网络挂载(NFS)

六、HTTPS / 证书问题

10. SSL 配置不合理

  • 没启用 HTTP/2
  • 证书链不完整
a2enmod http2

七、外部依赖慢

11. 页面调用外部接口

  • 第三方 API
  • 字体 / JS / CSS CDN

✅ 解决:

  • 本地缓存
  • 异步加载

八、快速自查命令(建议你先跑)

top
free -h
apachectl -V | grep MPM
apachectl -M | grep php
cat /etc/hosts

九、如果你愿意,我可以更精确帮你

你可以补充:

  1. Ubuntu 版本
  2. Apache 版本
  3. 是否用 PHP / MySQL
  4. 是本地访问慢还是外网慢
  5. 是否 HTTPS

我可以直接给你针对性优化配置

0