天天看點

記一次線上大量close_wait

背景:

一個微信的小項目。項目很簡單,隻有定位、投票、分享、排名、留言等功能。​

當上線開始,大量使用者通路首頁投票。沒過1分鐘項目立馬崩了。

馬上排查錯誤原因。

  1. 檢視錯誤日志,因未列印詳細日志,未查到有價值資訊。
  2. 檢視TCP/IP監控。輸入 netstat -apn|grep 8080 看到如下資訊。
記一次線上大量close_wait

大量的CLOSE_WAIT。

因為首頁隻有一個定位接口,擷取使用者位置資訊。微信擷取位置資訊需要發送http請求擷取簽名。

此時檢查對應代碼發現,httpUtil方法finally裡并未close操作。這樣就很明确了。立馬修改代碼。

釋出後驗證發現close_wait消失。 

記一次線上大量close_wait

總結:網上找util方法一定要仔細檢查,否則坑死你。