Skip to content

Instantly share code, notes, and snippets.

@yjuba
Last active May 6, 2018 02:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yjuba/a591ab6b441c8010eb7979629d4b009c to your computer and use it in GitHub Desktop.
Save yjuba/a591ab6b441c8010eb7979629d4b009c to your computer and use it in GitHub Desktop.

gVisor動作テストメモ

gVisor

root@43b8d2d40134:/# uname -a
Linux 43b8d2d40134 3.11.10 #1 SMP Fri Nov 29 10:47:50 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
root@fab243e04c17:/# iperf -c 192.0.2.100 -t 60
------------------------------------------------------------
Client connecting to 192.0.2.100, TCP port 5001
TCP window size: 1.00 MByte (default)
------------------------------------------------------------
[  3] local 172.17.0.3 port 17839 connected with 192.0.2.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  2.26 GBytes   324 Mbits/sec
root@43b8d2d40134:~/go/src/github.com/eure/go-benchmark/fibonacci# go test -bench . -benchmem
goos: linux
goarch: amd64
pkg: github.com/eure/go-benchmark/fibonacci
BenchmarkFibonacciLoop-8                                100000000               15.0 ns/op             0 B/op          0 allocs/op
BenchmarkFibonacciRecursive-8                            2000000               740 ns/op               0 B/op          0 allocs/op
BenchmarkFibonacciRecursiveGoRoutine-8                    300000              3771 ns/op             192 B/op          2 allocs/op
BenchmarkFibonacciRecursiveContinuousGoRoutine-8            5000            243952 ns/op           16923 B/op        176 allocs/op
PASS
ok      github.com/eure/go-benchmark/fibonacci  6.588s

gVisor (--network=host)

root@43b8d2d40134:/# uname -a
Linux 43b8d2d40134 3.11.10 #1 SMP Fri Nov 29 10:47:50 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
root@9a935b6ac064:/# iperf -c 192.0.2.100 -t 60
------------------------------------------------------------
Client connecting to 192.0.2.100, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 172.17.0.2 port 36350 connected with 192.0.2.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  61.2 GBytes  8.76 Gbits/sec

Host(VM)

root@yjuba-perf-1:~# uname -a
Linux yjuba-perf-1 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@yjuba-perf-1:~# iperf -c 192.0.2.100 -t 60
------------------------------------------------------------
Client connecting to 192.0.2.100, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 10.71.230.129 port 54246 connected with 192.0.2.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec   120 GBytes  17.2 Gbits/sec
root@yjuba-perf-1:~/go/src/github.com/eure/go-benchmark/fibonacci# go test -bench . -benchmem
goos: linux
goarch: amd64
pkg: github.com/eure/go-benchmark/fibonacci
BenchmarkFibonacciLoop-2                                100000000               15.2 ns/op             0 B/op          0 allocs/op
BenchmarkFibonacciRecursive-2                            2000000               718 ns/op               0 B/op          0 allocs/op
BenchmarkFibonacciRecursiveGoRoutine-2                   1000000              2615 ns/op             192 B/op          2 allocs/op
BenchmarkFibonacciRecursiveContinuousGoRoutine-2           10000            124820 ns/op           16932 B/op        176 allocs/op
PASS
ok      github.com/eure/go-benchmark/fibonacci  7.770s

Docker

root@79a675d8fd9e:/# uname -a
Linux 79a675d8fd9e 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@79a675d8fd9e:/# iperf -c 192.0.2.100 -t 60
------------------------------------------------------------
Client connecting to 192.0.2.100, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 172.17.0.3 port 46676 connected with 192.0.2.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec   111 GBytes  15.8 Gbits/sec
root@79a675d8fd9e:~/go/src/github.com/eure/go-benchmark/fibonacci# go test -bench . -benchmem
goos: linux
goarch: amd64
pkg: github.com/eure/go-benchmark/fibonacci
BenchmarkFibonacciLoop-2                                100000000               15.1 ns/op             0 B/op          0 allocs/op
BenchmarkFibonacciRecursive-2                            2000000               720 ns/op               0 B/op          0 allocs/op
BenchmarkFibonacciRecursiveGoRoutine-2                   1000000              2715 ns/op             192 B/op          2 allocs/op
BenchmarkFibonacciRecursiveContinuousGoRoutine-2           10000            137676 ns/op           16927 B/op        176 allocs/op
PASS
ok      github.com/eure/go-benchmark/fibonacci  7.969s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment