centos lamp如何提高网站速度
导读:CentOS LAMP性能优化路线图 一 硬件与系统基础 使用SSD/NVMe、保证充足内存与合适的CPU,并优先选择高性能网卡,对高并发与I/O密集型站点收益显著。 保持系统与软件包及时更新:执行 sudo yum update -y,...
CentOS LAMP性能优化路线图
一 硬件与系统基础
- 使用SSD/NVMe、保证充足内存与合适的CPU,并优先选择高性能网卡,对高并发与I/O密集型站点收益显著。
- 保持系统与软件包及时更新:执行
sudo yum update -y,获取性能修复与安全改进。 - 优化文件系统与挂载:优先 ext4/XFS,并使用 noatime 挂载选项减少磁盘元数据写入。
- 调整关键内核参数(/etc/sysctl.conf)以优化网络与内存:
- 网络:
net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_fin_timeout=30、net.ipv4.tcp_keepalive_time=1200、net.ipv4.ip_local_port_range="1024 65535"、net.core.somaxconn=1024、net.core.netdev_max_backlog=2000 - 内存:
vm.swappiness=10、vm.dirty_background_ratio=5、vm.dirty_ratio=10
应用:sudo sysctl -p。
- 网络:
- 提升文件描述符限制:在系统或服务层面将 ulimit -n 调整到更高值(如 65535),以支持更多并发连接。
- 关闭不必要的系统服务,减少资源占用。
二 Apache与PHP优化
- 启用压缩与缓存策略:开启 mod_deflate(GZIP)减小传输体积;启用 mod_expires 设置浏览器缓存,降低重复请求。
- 优化持久连接:开启 KeepAlive,建议
KeepAlive On、MaxKeepAliveRequests 100、KeepAliveTimeout 5,在连接复用与资源占用间取得平衡。 - 选择并调优MPM:
- 低并发或传统模块场景可用 prefork;
- 高并发推荐 event MPM + PHP-FPM,资源利用更高效。
- 调整并发与连接:结合内存与CPU设置 MaxRequestWorkers/MaxClients(如示例值 150),避免过载导致排队或OOM。
- 使用 PHP-FPM 管理进程,示例关键参数(/etc/php-fpm.d/www.conf):
pm=dynamic、pm.max_children=50、pm.start_servers=5、pm.min_spare_servers=5、pm.max_spare_servers=35、request_terminate_timeout=120、rlimit_files=131072
- 启用 OPcache(php.ini):
opcache.enable=1、opcache.memory_consumption=64(可按需调至128)、opcache.interned_strings_buffer=8、opcache.max_accelerated_files=10000、opcache.revalidate_freq=60、opcache.fast_shutdown=1
- PHP运行时:合理设置
memory_limit=128M,按需调整upload_max_filesize、post_max_size;会话存储建议改为 Memcached/Redis;可禁用不必要函数(如exec、shell_exec等)。
三 数据库 MariaDB/MySQL 优化
- 增大 InnoDB 缓冲池:设置
innodb_buffer_pool_size(如 1G 起,按内存比例上调),显著减少磁盘I/O。 - 优化查询与结构:为高频查询建立合适索引、避免全表扫描,必要时进行分区/分表与SQL改写。
- 维护与缓存:定期执行索引维护、碎片整理;在应用层引入 Memcached/Redis 做对象/页面缓存,降低数据库压力。
- 适度开启查询缓存(如业务以读为主且版本支持),并持续用慢查询日志定位瓶颈。
四 前端与网络层加速
- 启用 GZIP 压缩 与 浏览器缓存策略(如
mod_expires),减少传输量与重复请求。 - 部署 CDN 分发静态资源(图片、CSS、JS),缩短用户首包时间并降低源站带宽。
- 优化网络栈与连接复用:复用上述 TCP keepalive 与端口范围 等内核参数,减少握手与TIME_WAIT;必要时优化DNS解析链路。
五 监控、压测与迭代
- 基线监控与瓶颈定位:使用 top/htop、vmstat、iostat、netstat 观察CPU、内存、I/O、网络与连接队列,配合应用与数据库日志定位慢点。
- 变更流程:任何配置调整前先备份;修改后用
httpd configtest校验语法,分阶段灰度/回滚;在测试环境验证后再上线。 - 持续迭代:优化是持续过程,结合监控数据定期微调参数与代码路径。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp如何提高网站速度
本文地址: https://pptw.com/jishu/750021.html
