亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

深入分析Tomcat無響應問題及解決方法

2024-09-01 13:47:53
字體:
來源:轉載
供稿:網友
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成,通常我們會用它來運行java了,下文小編來為各位介紹Tomcat無響應問題解決辦法
 

  問題描述

  生產環境下有幾臺tomcat,但突然某個時候發現所有的請求都不能響應了,由于我們的web server使用的是nginx,會將請求反向到tomcat上,所以起初懷疑是nginx就沒有收到請求,但查看日志后發現,nginx中大量出現499的返回,這說明問題還是出在tomcat上.

  問題排查

  首先我想到的是不是CPU跑滿了,雖說CPU沒有報警但還是本能的top命令看下系統負載,發現系統只有0.x的負載,cpu,內存消耗都是正常的.

  由于CPU沒有出現異常,所以應該不是GC出現了問題,但還是檢查了下GC log,果然GC也沒問題

  此時必須讓jstack上場了,果然在使用jstack后發現很多線程都是WAITING狀態

  

"http-nio-127.0.0.1-801-exec-498" daemon prio=10 tid=0x00002ada7c14f800 nid=0x16a6 waiting on condition [0x00002ada9c905000]  java.lang.Thread.State: WAITING (parking)  at sun.misc.Unsafe.park(Native Method)  - parking to wait for <0x00000007873e6990> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)  at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133)  at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282)  at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64)  at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177)  at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170)  at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102)  at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:240)  at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:227)  at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173)  at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)  at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85)  at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)  at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)  at com.weimai.utils.HttpClientUtil.doGet(HttpClientUtil.java:105)  at com.weimai.utils.HttpClientUtil.doGet(HttpClientUtil.java:87)  at com.weimai.utils.WeiBoUtil.checkUser(WeiBoUtil.java:214)  at com.weimai.web.UserInfoController.newWeiboLogin(UserInfoController.java:1223)  at sun.reflect.GeneratedMethodAccessor390.invoke(Unknown Source)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  at java.lang.reflect.Method.invoke(Method.java:606)

  此時意識到問題應該出現http連接上,馬上用netstat查看下801端口的連接狀態,果然發現很多請求都是CLOSE_WAIT,這里簡單解釋下CLOSE_WAIT狀態,如果我們的client程序處于CLOSE_WAIT狀態的話,說明套接字是被動關閉的,整個流程應該是這樣

  因為如果是server端主動斷掉當前連接的話,那么雙方關閉這個TCP連接共需要四個packet

  server -> FIN -> client

  server <- ACK <- client

  這時候server端處于FIN_WAIT_2狀態,而我們的程序處于CLOSE_WAIT狀態

  server <- FIN <- client

  這時client發送FIN給server,client就置為LAST_ACK狀態。

  server -> ACK -> client

  server回應了ACK,那么client的套接字才會真正置為CLOSED狀態

  我們的請求處于CLOSE_WAIT狀態,而不是LAST_ACK狀態,說明還沒有發FIN給server,那么很簡單,去看HttpClientUtil中如何處理就知道了,果然在查看HttpClientUtil代碼中發現對于非正常關閉的http連接沒有做abort,補充完善好try catch finally塊后問題得到解決.



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91高清免费在线观看| 成年无码av片在线| 欧美日韩另类视频| 日本aⅴ大伊香蕉精品视频| 久久躁狠狠躁夜夜爽| 国产精品www| 日韩精品中文字幕在线观看| 一本一本久久a久久精品牛牛影视| 久久精品国产亚洲7777| 最近中文字幕mv在线一区二区三区四区| 97在线看免费观看视频在线观看| 97视频在线观看视频免费视频| 国产精品久久久久久久9999| 亚洲国产成人精品女人久久久| 日韩欧美aaa| 欧美大码xxxx| 日本国产欧美一区二区三区| 国产精品夜间视频香蕉| 精品国产一区二区三区久久狼5月| 色偷偷偷亚洲综合网另类| 欧美洲成人男女午夜视频| 青青草成人在线| 欧美日韩福利电影| 亚洲最新av在线网站| 国产精品久久久久久久天堂| 精品久久久精品| 精品亚洲国产视频| 国产精品7m视频| 久久成人av网站| 亚洲曰本av电影| 亚洲欧美在线免费观看| 成人国产精品色哟哟| 性欧美xxxx| 亚洲毛片在线看| 亚洲97在线观看| 国产精品自拍视频| 日韩在线观看免费网站| 91精品久久久久久久久青青| 久久伊人免费视频| 久久久人成影片一区二区三区观看| 中文字幕在线日韩| 欧美午夜www高清视频| 国产精品成人一区二区| 中文字幕精品www乱入免费视频| 国产成人综合一区二区三区| 国产999精品视频| 亚洲视频在线观看| 国产精品狼人色视频一区| 欧美一级大片在线观看| 国产精品高潮呻吟久久av黑人| 在线亚洲国产精品网| 97成人精品视频在线观看| 成人免费淫片aa视频免费| 亚洲精品自拍偷拍| 一区二区欧美久久| 一区二区三区国产视频| 色噜噜国产精品视频一区二区| 亚洲free性xxxx护士hd| 国产一区二区香蕉| 九九综合九九综合| 日韩电影在线观看免费| 欧美国产视频一区二区| 欧美富婆性猛交| 日韩动漫免费观看电视剧高清| 欧美成人一区二区三区电影| 亚洲一区二区三区777| 成人久久精品视频| 亚洲一区二区日本| x99av成人免费| 九九热这里只有精品6| 国产日韩欧美日韩| 国产精品久久久久久久9999| 色多多国产成人永久免费网站| 欧美亚洲日本黄色| 国产精品海角社区在线观看| 国产精品第一视频| 亚洲精品日韩在线| 久久99亚洲精品| 国产欧美va欧美va香蕉在线| 欧美另类老肥妇| 亚洲热线99精品视频| 精品久久久久久久久久| 66m—66摸成人免费视频| 亚洲人成网站999久久久综合| 国产精品爽爽ⅴa在线观看| 欧美日产国产成人免费图片| 国产精欧美一区二区三区| 欧美日韩色婷婷| 国内揄拍国内精品| 国产69久久精品成人| 精品亚洲一区二区三区| 国产成人精品在线观看| 欧美猛男性生活免费| 欧美专区在线视频| 亚洲va欧美va国产综合剧情| 久久久久久久久中文字幕| 欧美日韩国产在线播放| 欧美激情精品久久久| 久久综合免费视频影院| 欧美乱人伦中文字幕在线| 久久露脸国产精品| 国产精品久久久久久一区二区| 中文字幕亚洲在线| 亚洲天堂av在线免费观看| 欧美日韩午夜激情| 欧美亚洲一级片| 夜夜嗨av一区二区三区四区| 国产一区视频在线播放| 精品国产视频在线| 欧美黑人狂野猛交老妇| 在线成人激情视频| 欧美在线视频导航| 日韩成人中文电影| 欧洲亚洲免费在线| 成人黄色大片在线免费观看| 国产精品爱久久久久久久| 成人午夜激情免费视频| 精品视频久久久久久久| 亚洲欧美日韩在线高清直播| 精品女同一区二区三区在线播放| 午夜精品久久久久久久久久久久久| 最近2019年手机中文字幕| 国产精品日韩欧美| 欧美国产亚洲精品久久久8v| 亚洲3p在线观看| 97碰在线观看| 欧美日韩成人黄色| 国产精品人人做人人爽| 日韩av免费看| 久久香蕉国产线看观看网| 日韩暖暖在线视频| 国产综合在线看| 久久天天躁狠狠躁夜夜躁2014| 欧美中文在线观看| 久久久精品国产一区二区| 成人淫片在线看| 欧美日韩国产123| 动漫精品一区二区| 亚洲欧美精品一区| 亚洲免费人成在线视频观看| 91精品久久久久久久久久久久久久| 久久久女女女女999久久| 影音先锋日韩有码| 国产精品中文字幕久久久| 一个色综合导航| 久久久免费精品| 亚洲护士老师的毛茸茸最新章节| 欧美在线视频一区二区| 精品综合久久久久久97| 激情久久av一区av二区av三区| 国产在线999| 亚洲综合精品一区二区| 久久久噜久噜久久综合| 欧美激情亚洲精品| 深夜福利一区二区| 成人精品久久av网站| 久久精品久久精品亚洲人| 亚洲乱码av中文一区二区| 国外视频精品毛片| 97国产精品久久| 国产精品欧美日韩| 色悠悠久久88| 日本在线观看天堂男亚洲| 国产一区二区av|