diff options
| author | Josh Bleecher Snyder <josh@tailscale.com> | 2021-05-07 12:53:11 -0700 |
|---|---|---|
| committer | Josh Bleecher Snyder <josharian@gmail.com> | 2021-05-10 09:45:35 -0700 |
| commit | 6618e82ba2e45150267aa861b30a15f1df48014d (patch) | |
| tree | 195f5e34a2a6d346476ffa63d04c195f112523d2 | |
| parent | e9066ee6257d6c302e130a11703d134069ea5cf3 (diff) | |
| download | tailscale-6618e82ba2e45150267aa861b30a15f1df48014d.tar.xz tailscale-6618e82ba2e45150267aa861b30a15f1df48014d.zip | |
wgengine/bench: close Engines on benchmark completion
This reduces the speed with which these benchmarks exhaust their supply fds.
Not to zero unfortunately, but it's still helpful when doing long runs.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
| -rw-r--r-- | wgengine/bench/bench.go | 2 | ||||
| -rw-r--r-- | wgengine/bench/bench_test.go | 2 | ||||
| -rw-r--r-- | wgengine/bench/wg.go | 9 |
3 files changed, 10 insertions, 3 deletions
diff --git a/wgengine/bench/bench.go b/wgengine/bench/bench.go index 9c7fdd690..311a99697 100644 --- a/wgengine/bench/bench.go +++ b/wgengine/bench/bench.go @@ -80,7 +80,7 @@ func main() { // tx=134236 rx=133166 (1070 = 0.80% loss) (1088.9 Mbits/sec) case 101: - setupWGTest(logf, traf, Addr1, Addr2) + setupWGTest(nil, logf, traf, Addr1, Addr2) default: log.Fatalf("provide a valid test number (0..n)") diff --git a/wgengine/bench/bench_test.go b/wgengine/bench/bench_test.go index 7f8089445..253209bb6 100644 --- a/wgengine/bench/bench_test.go +++ b/wgengine/bench/bench_test.go @@ -43,7 +43,7 @@ func BenchmarkBatchTCP(b *testing.B) { func BenchmarkWireGuardTest(b *testing.B) { run(b, func(logf logger.Logf, traf *TrafficGen) { - setupWGTest(logf, traf, Addr1, Addr2) + setupWGTest(b, logf, traf, Addr1, Addr2) }) } diff --git a/wgengine/bench/wg.go b/wgengine/bench/wg.go index 167975a3f..e3cb300f4 100644 --- a/wgengine/bench/wg.go +++ b/wgengine/bench/wg.go @@ -10,6 +10,7 @@ import ( "os" "strings" "sync" + "testing" "github.com/tailscale/wireguard-go/tun" "inet.af/netaddr" @@ -25,7 +26,7 @@ import ( "tailscale.com/wgengine/wgcfg" ) -func setupWGTest(logf logger.Logf, traf *TrafficGen, a1, a2 netaddr.IPPrefix) { +func setupWGTest(b *testing.B, logf logger.Logf, traf *TrafficGen, a1, a2 netaddr.IPPrefix) { l1 := logger.WithPrefix(logf, "e1: ") k1, err := wgkey.NewPrivate() if err != nil { @@ -49,6 +50,9 @@ func setupWGTest(logf logger.Logf, traf *TrafficGen, a1, a2 netaddr.IPPrefix) { if err != nil { log.Fatalf("e1 init: %v", err) } + if b != nil { + b.Cleanup(e1.Close) + } l2 := logger.WithPrefix(logf, "e2: ") k2, err := wgkey.NewPrivate() @@ -73,6 +77,9 @@ func setupWGTest(logf logger.Logf, traf *TrafficGen, a1, a2 netaddr.IPPrefix) { if err != nil { log.Fatalf("e2 init: %v", err) } + if b != nil { + b.Cleanup(e2.Close) + } e1.SetFilter(filter.NewAllowAllForTest(l1)) e2.SetFilter(filter.NewAllowAllForTest(l2)) |
