建立连接后常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭。
url(r'^testtimedout/$', newview.testtimedout),
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import urllib
import cookielib
import json
import httplib
import re
import requests
import os
import time
import requests, requests.utils, pickle
try:
import cookielib # 兼容Python2
except:
import http.cookiejar as cookielib
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
url='http://192.168.137.3:9000/testtimedout'
while True:
try:
s = requests.session()
r = s.get(url, verify=False,timeout=5)
print r.content
except:
print '222222222'
原因 A 调用B, A超时后 A没有关闭连接,导致B close wait
node2:/root#netstat -na | grep 9000 | grep -i close
tcp 1 0 192.168.137.3:9000 192.168.137.1:49819 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49855 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49823 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49845 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49825 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49815 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49813 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49851 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49843 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49821 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49834 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49847 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49841 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49832 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49827 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49853 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49836 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49809 CLOSE_WAIT
tcp 1 0 192.168.137.3:9000 192.168.137.1:49811 CLOSE_WAIT