我們的情況:業(yè)務(wù)就是從mysql中查列表,有redis緩存;server跑在單機(jī)(aws上的m3.large機(jī)型,配置是cpu*2,內(nèi)存7.5g)上,開了兩個(gè)node進(jìn)程,mysql和redis都在其他機(jī)器上;高峰qps:100左右,平時(shí)qps:60~80左右;高峰時(shí)系統(tǒng)的負(fù)載值在3以下,cpu使用大概增加到70~80%,這個(gè)時(shí)候內(nèi)存會(huì)非常迅速從100M增加到1.4G,然后整個(gè)node進(jìn)程會(huì)掛掉,監(jiān)控顯示每10分鐘就會(huì)重啟,而且重啟后server也是殘廢,請求基本都會(huì)超時(shí)。按之前php的經(jīng)驗(yàn),服務(wù)器扛不住時(shí),負(fù)載會(huì)變得非常高。這下發(fā)現(xiàn)平時(shí)負(fù)載在1.5左右,高峰也就在3左右;qps漲得也不是特別多,平時(shí)60~80的時(shí)候指標(biāo)都很平穩(wěn),沒道理漲20就扛不?。蝗缓髢?nèi)存漲得特別猛,沿著內(nèi)存泄露的方向找了半個(gè)月也沒有結(jié)果。就在最后沒有辦法的時(shí)候,增加了一臺(tái)服務(wù)器,把流量分了一半出去?,F(xiàn)在跑了一個(gè)星期,各項(xiàng)指標(biāo)都平穩(wěn)了,內(nèi)存一直維持在100M左右,也一直沒有重啟過。我的疑惑:1.node扛不住大概會(huì)是什么表現(xiàn)呢,是跟我上面描述我們的情況類似嗎?2.內(nèi)存暴增是不是因?yàn)閏pu處理不過來,請求堆積導(dǎo)致,有沒有辦法優(yōu)化?3.有什么辦法預(yù)警node扛不住了?
node扛不住大概會(huì)是什么表現(xiàn)?
有只小跳蛙
2019-04-13 08:45:29