天天看點

做壓力測試時疑似被防火牆攔截

系統部署到正式伺服器上,要做壓力測試。

昨天在機關壓200個使用者并發,到160多個後,出現大量的連接配接逾時。結果就是通不過200個并發使用者。關了loadrunner,通路系統,系統已經通路不了。晚上回來通路還是無法通路。今天一早打算去機房看看,去之前再通路系統,竟然能通路,速度還不錯。

到了機房,連接配接上伺服器一看日志,昨天有outOfMemory,重新開機了系統,在機房現場壓,同樣,并發通路到140個使用者之後,系統就會出現大量逾時,通路失敗。

修改mysql最大連接配接數到100000,tomcat最大使用者數到5000,重新開機系統,再壓一次,最多到160,系統就不行了。打開jconsole,報了好多SocketError。

我們系統并發通路量小,技術上原因,做到淘寶那種千萬百萬級别的并發通路并不現實,可是理論上應該并發400沒問題,是以一定是某個地方出了問題了。

看了拓撲圖,外網通路應用伺服器,要經過一道防火牆,應用伺服器連接配接資料庫伺服器又要經過一道防火牆,是以判斷有可能是防火牆的問題。

于是在應用伺服器上裝了資料庫,改連本機的資料庫,重新啟動後。同時并發200個使用者很順利,2分鐘搞定,tomcat記憶體占用也不多,不到1個G。300個也很快。隻是後來到了390個後,開始報連接配接逾時,此時記憶體占用是1.9個G。390個并發使用者可以基本滿足要求了。

看來确實是防火牆的問題,請求被第二道防火牆攔截。明天去了請防火牆廠商的人修改下參數。同時,我再試試加大tomcat記憶體,使并發數再大一些。好像今天修改tomcat記憶體,最大就到2G。