优化思路与快速估算
MPM 选择与核心参数
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150 # 依据“单进程RSS×该值”不超过可用内存
MaxConnectionsPerChild 1000 # 非0可在长周期运行后回收增长的内存
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 1000
</IfModule>
应用与模块层优化
系统层与运维策略
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
vm.swappiness = 10
vm.overcommit_memory = 1
执行 sysctl -p 使配置生效。内存泄漏与异常增长的应对