第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

網(wǎng)站頻繁出現(xiàn)502 bad gateway 懷疑是127.0.0.1連接太多

網(wǎng)站頻繁出現(xiàn)502 bad gateway 懷疑是127.0.0.1連接太多

BIG陽 2019-04-09 20:24:04
用的是linode的vps,在上面架設(shè)了一個discuz論壇和一個wordpress的博客兩個站。每天pv兩個站加起來大概有九萬多,vps的配置是2G內(nèi)存,所有程序跑滿后還能剩余600MB左右,用的web服務(wù)端是nginx,從配置后四個月內(nèi)一直沒有問題,最近頻繁的502badgateway報錯。開始也找不到問題所在,認為是配置環(huán)境的問題,于是重新配置了環(huán)境,折騰了幾次之后發(fā)現(xiàn)依然是這樣502badgateway報錯或者根本打不開,檢查后臺IP連接數(shù),發(fā)現(xiàn)有個127.0.0.1這個ip的連接數(shù)特別多,每次宕機之前能高于1500的IP連接數(shù)。在這里提問想詢問各位大牛究竟問題出自哪里?這么高的連接數(shù)出自什么原因,是這個連接數(shù)導(dǎo)致的502嗎?如何可以解決?第一次提問,本人新手,冒昧提問,請各位大牛理解。
查看完整描述

2 回答

?
墨色風(fēng)雨

TA貢獻1853條經(jīng)驗 獲得超6個贊

502的問題有很多種情況,主要的問題就是nginx->php這一層出現(xiàn)問題,可能是并發(fā)問題,也可能是PHP處理能力問題,還有可能是code代碼的問題.
你說的127.0.0.1比較多是很正常的,估計是因為你的nginx調(diào)用php使用的是ip:port的方式,還有mysql也會是走的127.0.0.1,所以你應(yīng)該用端口來區(qū)分.
另外你說數(shù)量比較多,也不會全是ESTABLIST,如果你了解TCP協(xié)議就會知道,會有哪些狀態(tài).你可以查看下各個狀態(tài)的量.
netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'
如果TIMEWAIT的數(shù)量太多,當然是可以做一些優(yōu)化的.
net.core.somaxconn=4096
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_syn_retries=5
net.ipv4.tcp_synack_retries=5
net.ipv4.tcp_abort_on_overflow=0
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_tw_buckets=90000
net.ipv4.tcp_fin_timeout=30
net.ipv4.ip_local_port_range=1000065000
net.ipv4.tcp_keepalive_time=1200
如果擔(dān)心并發(fā)能力的問題,可以查看下ulimit還有nginx的并發(fā)控制.
其實如果你的訪問量(PV)沒有太多變化,但是導(dǎo)致了502我想你應(yīng)該多查看下php的日志.另外很常見的一個可能性是因為某個PHP程序hang住,導(dǎo)致你之后的PHP進程全部堵塞出現(xiàn)處理能力不夠,這個可以查看你每一個請求的處理時間.還有限制php進程處理時間,減少Backlog的數(shù)量,但并不一定Max_children開得越大越好,像2G的還是開小些吧,32夠了.
尤其是在出現(xiàn)502的時候一定要多觀察PHP的狀態(tài),是有defunct,還是有CPU或者內(nèi)存占用很大的進程.都是可以發(fā)現(xiàn)問題的.要具體問題具體分析了.
下面看下我實驗的502情況(結(jié)構(gòu)說明:Nginx(proxy)-->Nginx+PHP表格中說的nginx和PHP都是非proxy):
操作過程
返回時間
返回碼
nginx進程不存在
立馬
502
服務(wù)器死機
>proxy_connect_timeout
502
Nginx存在,fpm不存在
立馬
502
nginx存在,fastcgi執(zhí)行超時
>fastcgi_read_timeout
504
fpmbacklog隊列滿
立馬
502
fpm主動斷開
>request_terminate_timeout
502
PS:你的標題應(yīng)該改改,應(yīng)該是"網(wǎng)站頻繁出現(xiàn)502,懷疑是127.0.0.1連接太多",把現(xiàn)象先描述出來.
                            
查看完整回答
反對 回復(fù) 2019-04-09
?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

我以前碰到這種問題是因為在nginx后面的webserver沒有正確完成TCPtermination導(dǎo)致大量的TIME_WAIT/CLOSE_WAITconnection,最后導(dǎo)致openfile超過上限。你netstat-ano|grep-E'TIME_WAIT|CLOSE_WAIT'|wc-l看看是不是很多呢。如果是的話,可以調(diào)整linux的參數(shù):
減少TIME_WAIT的timeout時間至30s
echo30>/proc/sys/net/ipv4/tcp_fin_timeout
如果CLOSE_WAIT過多,那就是server實現(xiàn)有bug。
                            
查看完整回答
反對 回復(fù) 2019-04-09
  • 2 回答
  • 0 關(guān)注
  • 838 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號