优化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)。
注意:修改配置前需备份文件,建议在测试环境验证后再应用到生产环境。