在 Debian 上搭建的 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境访问慢,通常不是单一原因,而是多个环节叠加。下面按最常见 → 较少见帮你系统排查。
Apache / PHP 在以下情况会触发 DNS:
HostnameLookupsgethostbyaddr()localhost✅ 解决:
# /etc/apache2/apache2.conf
HostnameLookups Off
MySQL:
# /etc/mysql/my.cnf
[mysqld]
skip-name-resolve
PHP 连接数据库用:
$host = '127.0.0.1'; // 不要用 localhost
mpm_prefork + PHP 阻塞默认 Debian Apache 是:
mpm_preforkmod_php并发一高就卡死。
✅ 推荐方案(性能提升明显):
apt install php-fpm apache2-mpm-event
a2dismod php8.x
a2enmod proxy_fcgi setenvif
a2enconf php8.x-fpm
systemctl restart apache2
默认配置适合“微型机”。
✅ 基础优化:
innodb_buffer_pool_size = 512M # 物理内存的 50%~70%
query_cache_type = 0
✅ 必开 OPcache:
apt install php-opcache
opcache.enable=1
opcache.memory_consumption=128
✅ 检查:
speedtest-cli
Debian 默认启用 IPv6,浏览器先试 IPv6 再回退。
✅ 临时验证:
curl -4 http://localhost
✅ 关闭 IPv6(可选):
sysctl -w net.ipv6.conf.all.disable_ipv6=1
特别是:
✅ 检查:
iostat -x 1
# 1. Apache 模式
apachectl -V | grep MPM
# 2. PHP 是否开 OPcache
php -i | grep opcache
# 3. MySQL 是否跳过 DNS
mysql -e "SHOW VARIABLES LIKE 'skip_name_resolve';"
# 4. 本地访问是否也慢
curl -w "%{time_total}\n" http://127.0.0.1
你可以直接贴:
我可以给你一套精准优化方案。