Можете ли вы объяснить, почему при выполнении нескольких запросов открывается много TCP-соединений? - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь понять, почему много открытых соединений TCP, когда я выполняю много синхронных запросов.

В Windows я использую Python 3, чтобы открыть тестовый сервер HTTP в консоли:

python -m http.server 9000

В консоли Git Bash я запускаю множество запросов с циклом:

for i in $(seq 1000); do curl http://localhost:9000/; done

Во время запросов я вижу множество TCP-соединений, связанных с клиентом curl и Pythonсервер.Как видно на скриншоте, количество открытых TCP-соединений со временем увеличивается.Через некоторое время соединения закрываются.

Снимок экрана Windows Ressource Monitor

Почему соединения все еще открыты?

Редактировать 1:

С помощью одной команды curl я вижу открытое соединение в течение 2 минут с помощью netstat -n | grep :9000:

  TCP    127.0.0.1:64301        127.0.0.1:9000         TIME_WAIT

Изменение TTL не меняет длительность открытого запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...