GordonWei's Blog


[Linux]Apache存取緩慢以及Time_Wait回收





最近在處理某個專案時發現當瀏覽量一大時,就會出現極度緩慢的情況。
所以稍微研究了一下發現apache的Time_Wait多的嚇人。(可使用下列語法觀察:)

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
在萬能的Google大神引導之下找出了兩個地方要調整。
其一為mpm_prefork.conf
 
vim /etc/apache2/mods-available/mpm_prefork.conf
新增與修改為下方結果。
        StartServers            10
        MinSpareServers         10
        MaxSpareServers         20
        ServerLimit             2000
        MaxRequestWorkers       1500
        MaxConnectionsPerChild  10000
接著是修改內核,讓apache狀態為Time_Wait的可以進行回收。
vim /etc/sysctl.conf
在最下方新增:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
如此一來,就可以解決apache緩慢以及time_wait過多的問題。
上面的設定如果有疑問的話,可以至Apache.org查找相關說明!

以上文章皆是原創(廣告文除外),轉載前請先來信通知,本人同意後方可轉載,謝謝!

文章分類:Linux


blog comments powered by Disqus

© 2019 www.kmp.tw