apache負載很大,cpu佔用80%左右求助
連接情況:
SYN_RECV 241
CLOSE_WAIT 1
ESTABLISHED 39
FIN_WAIT1 93
FIN_WAIT2 14
CLOSING 11
TIME_WAIT 23921
《解決方案》
top - 15:10:48 up 1 day, 21:34, 5 users, load average: 105.74, 84.59, 64.04
Tasks: 398 total, 104 running, 286 sleeping, 0 stopped, 8 zombie
Cpu(s): 91.8%us, 5.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.2%hi, 2.8%si, 0.0%st
Mem: 3631632k total, 3201848k used, 429784k free, 179664k buffers
Swap: 4192924k total, 0k used, 4192924k free, 1052240k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2295 mysql 15 0 578m 111m 5024 S 13.5 3.1 135:41.39 mysqld
23005 apache 15 0 32416 11m 3536 S 8.9 0.3 0:11.73 httpd
24536 apache 15 0 32432 11m 3532 S 8.6 0.3 0:04.09 httpd
25232 apache 15 0 32448 11m 3512 S 7.9 0.3 0:02.34 httpd
24918 apache 15 0 31704 11m 3516 R 7.6 0.3 0:02.69 httpd
23846 apache 15 0 31720 11m 3560 S 7.3 0.3 0:06.20 httpd
23864 apache 15 0 32340 11m 3508 S 7.3 0.3 0:05.79 httpd
22938 apache 15 0 32372 11m 3520 S 6.9 0.3 0:13.09 httpd
23820 apache 16 0 32856 12m 3516 R 6.9 0.3 0:06.20 httpd
23931 apache 16 0 32360 11m 3528 R 5.6 0.3 0:07.25 httpd
23822 apache 15 0 32500 11m 3536 S 5.3 0.3 0:07.30 httpd
23027 apache 15 0 32292 11m 3532 S 5.0 0.3 0:09.10 httpd
23417 apache 16 0 33060 12m 3600 R 5.0 0.4 0:09.27 httpd
23790 apache 15 0 32448 11m 3528 S 5.0 0.3 0:08.59 httpd
《解決方案》
換NGINX試試
《解決方案》
TIME_WAIT 23921
優化一下看看吧,,這個也太多了吧!
《解決方案》
剛好看到,幫你轉過來了!
六、優化Linux內核參數
vi /etc/sysctl.conf
在末尾增加以下內容
# Add
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 1024 65535
使配置立即生效
/sbin/sysctl -p
《解決方案》
用nginx做前端分發,squid做圖片緩存,apache單獨處理php等一些文件,這樣負載會降低很多。
《解決方案》
觀點同四樓 優化一下 IME_WAIT 太多
《解決方案》
TIME_WAIT 23921
被攻擊了吧? 開牆
《解決方案》
TIME_WAIT 23921
這個是關鍵,而不是換nginx誰說nginx一定比apache 強,不要人云亦云
結合自己的環境來定