golang/go

net/http: BenchmarkClientServerParallel4 hangs and is useless

Open

#20,166 opened on Apr 28, 2017

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Go (19,008 forks)batch import
Testinghelp wanted

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

It seems the BenchmarkClientServerParallel4 benchmark sometimes hangs while running. Sometimes it needs to be killed (first example) and sometimes it recovers on its own, leading to useless numbers.

In any case, I can't get good numbers out of it.

I suspect it's consuming too many sockets and running out of addresses or something.

bradfitz@gdev:~/go/src/net/http$ go test -benchtime=1s -bench=BenchmarkClientServerParallel4 -count=3 -run=XXXX | tee before
goos: linux
goarch: amd64
pkg: net/http
BenchmarkClientServerParallel4-4           30000             39470 ns/op            7539 B/op         73 allocs/op
BenchmarkClientServerParallel4-4           50000             40934 ns/op            7563 B/op         73 allocs/op
BenchmarkClientServerParallel4-4        ^C
bradfitz@gdev:~/go/src/net/http$ go test -benchtime=1s -bench=BenchmarkClientServerParallel4 -count=3 -run=XXXX | tee before
goos: linux
goarch: amd64
pkg: net/http
BenchmarkClientServerParallel4-4            5000            283132 ns/op            7244 B/op         85 allocs/op
BenchmarkClientServerParallel4-4               1        7011289330 ns/op           54720 B/op        527 allocs/op
BenchmarkClientServerParallel4-4               1        7010777787 ns/op           37472 B/op        238 allocs/op
PASS
ok      net/http        16.585s

Contributor guide