Сервер net / http зависает при большой нагрузке ab (ApacheBench) - PullRequest
0 голосов
/ 11 мая 2019

Golang net/http сервер на MacOS зависает после 16000 запросов:

$ ab -c 4 -n 20000 http://127.0.0.1:8080/
This is ApacheBench, Version 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 2000 requests
Completed 4000 requests
...
Completed 14000 requests
Completed 16000 requests
^C

1 Ответ

0 голосов
/ 11 мая 2019

Ниже приводится объяснение Билла Нойбауэра:

Эта проблема вызвана тем, что в ОС не хватает сокетов.ab и Go циклически перебирают пары сокетов для связи быстрее, чем ОС может перераспределить их для повторного использования.

См. https://github.com/golang/go/issues/66#issuecomment-66047858

...