优化CentOS Apache网络连接可从系统内核、Apache配置、协议与硬件等方面入手,具体如下:
调整内核参数
修改/etc/sysctl.conf
,优化TCP连接状态和缓冲区,例如:
net.ipv4.tcp_tw_reuse = 1 # 启用TIME_WAIT复用
net.ipv4.tcp_fin_timeout = 30 # 缩短FIN_WAIT超时时间
net.core.somaxconn = 65535 # 增大连接队列长度
net.ipv4.tcp_max_syn_backlog = 8192 # 增大SYN队列长度
执行sysctl -p
使配置生效。
启用KeepAlive
在Apache配置文件(/etc/httpd/conf/httpd.conf
)中添加:
KeepAlive On
MaxKeepAliveRequests 100 # 限制单个连接最大请求数
KeepAliveTimeout 5 # 空闲连接超时时间(秒)
减少连接建立开销,提升并发能力。
优化MPM模块配置
prefork
适合无线程安全模块的场景,高并发场景建议切换至event
或worker
模块(需编辑/etc/httpd/conf.modules.d/00-mpm.conf
)。StartServers
、MinSpareServers
、MaxRequestWorkers
等参数,避免资源浪费。使用高效协议与缓存
mod_http2
模块支持多路复用,提升传输效率(需安装模块并修改配置)。mod_expires
设置缓存时间,减少重复请求(如CSS、JS文件缓存1年以上)。mod_deflate
压缩文本类数据(如HTML、CSS),降低带宽占用。硬件与网络设备优化
监控与调优
使用top
、htop
、netstat
等工具监控服务器负载和网络连接状态,根据监控结果调整参数(如发现大量TIME_WAIT
连接时,可增大tcp_max_tw_buckets
)。
注意:修改配置前需备份文件,建议在测试环境验证后再应用到生产环境。