Lagopus + Dockerでの性能評価
こちらを参考にDockerにLagopusの環境を作り、
スループットを評価を行いました。
チューニングなどは特に行っておらず、Intel DPDKの支援もなしです。
チューニングの余地はまだまだあるので、今後も評価を継続していきます。
[ Environments ]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CPU: Intel(R) Core(TM)2 Quad Q8200@2.33GHz
Memory: 4Gbyte
OS: Ubuntu 14.04.1 LTS (64bit)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Docker Version: 1.0.1
Docker Image: Ubunu 14.04
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Ryu Version: 3.13
Lagopus Version: 0.1
Lagpus DPDK Option: No
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
[ Network chart ]
+-------------+ | ryu | | (Container) | +-------------+ eth1 | 192.168.100.100/24 | | br3 | eth3 | 192.168.100.200/24 +-------------+ | lagopus | eth2 br2 | (Container) |--------------------+ +-------------+ 169.254.0.200/24 | | eth1 | | 169.254.0.100/24 eth1 | 169.254.0.2/24 | +-------------+ | | server2 | | | (Container) | | +-------------+ | +-------------+ | | server1 | | | (Container) | | +-------------+ | eth1 | 169.254.0.1/24 -+-----------+- br1
[Ryu command]
# ryu-manager --pid-file /var/run/simple_switch_13.pid --nouse-stderr --log-file /tmp/simple_switch_13.log /usr/local/ryu/ryu/app/simple_switch_13.py &
[lagopus command]
# lagopus -d -l /tmp/lagopus.log -- -- -p3 &
[ Perfomance Test ]
Case1: [server1]->[lagopus] # iperf -c 169.254.0.200 ------------------------------------------------------------ Client connecting to 169.254.0.200, TCP port 5001 TCP window size: 340 KByte (default) ------------------------------------------------------------ [ 3] local 169.254.0.1 port 37516 connected with 169.254.0.200 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 19.4 GBytes 16.6 Gbits/sec Case2: [server1]->[lagopus]->[server2] # iperf -c 169.254.0.2 -w 16k ------------------------------------------------------------ Client connecting to 169.254.0.2, TCP port 5001 TCP window size: 32.0 KByte (WARNING: requested 16.0 KByte) ------------------------------------------------------------ [ 3] local 169.254.0.1 port 36218 connected with 169.254.0.2 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.2 sec 1.50 MBytes 1.24 Mbits/sec # iperf -c 169.254.0.2 -w 32K ------------------------------------------------------------ Client connecting to 169.254.0.2, TCP port 5001 TCP window size: 64.0 KByte (WARNING: requested 32.0 KByte) ------------------------------------------------------------ [ 3] local 169.254.0.1 port 36212 connected with 169.254.0.2 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.3 sec 640 KBytes 511 Kbits/sec # iperf -c 169.254.0.2 -w 64K ------------------------------------------------------------ Client connecting to 169.254.0.2, TCP port 5001 TCP window size: 128 KByte (WARNING: requested 64.0 KByte) ------------------------------------------------------------ [ 3] local 169.254.0.1 port 36211 connected with 169.254.0.2 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-17.3 sec 384 KBytes 182 Kbits/sec