prefork模式是古老穩定的模式。Apache在啟動之初,就預先產生一些子進程,然後等待請求進來,以減少頻繁創建和銷毀進程的開銷。每個子進程只有一個線程,在一個時間點內,只能處理一個請求。
vi /etc/apache2/mods-available/mpm_prefork.conf
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 1000
MaxRequestWorkers 750
MaxConnectionsPerChild 3000
</IfModule>
ps -ef|grep apache2|wc -l
)大於此值時,就會開始排隊#推薦設置:小=500 中=500~1500 大型=1500~3000( 如果最大請求進程數超過256需要在MaxRequestWorkers參數前添加參數ServerLimit並且指定最大並發數,該參數最好與MaxRequestWorkers的值保持一致。 )
service apache2 restart
vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30