CloudRouter -- Performance comparison of cloud networking versus a Weaved docker network

 

Introduction

The premise of this test is to understand the impact of running cloudrouter on a 8 core vm google cloud instance versus running them on docker containers that has been weaved together on top of google cloud.

 

Test Hardware

Google cloud 8 core VMs - n1-highcpu-8

 

Test Setup

Run two cloudrouter instances on google cloud with instance type n1-highcpu-8 in the same zone. Run iperf to measure bandwidth obtained on the raw cloudrouter instance.  Then run two cloudrouter bird docker containers on each of the VMs and weave them together to be on the same network using https://github.com/weaveworks/weave. Run iperf again for comparison.

 

Test Results

 

Test IDTestcase DescriptionResultsNotes
1Run iperf between two google cloud 8 core vmsAveraging 6.55 Gbits/sec. 
2Run iperf on top of docker containers that are weaved together over google cloud network running on 8 core vmsAveraging 180 Mbits/sec 

 

Artifacts:

Google Cloud - n1-highcpu-8 - CloudRouter TCP Throughput (Gbits/sec): 

 

 

Google Cloud - n1-highcpu-8 - CloudRouter TCP Throughput for weaved docker containers:

Conclusion

Couple of important observations were made during this test run. 

  1.  We have hereby observed that we are only able to push through on average 6.5 Gbits/sec on the CloudRouter instances on Google Cloud when utilizing the 8 core vms.
  2. there's a significant performance drop to run weaved docker containers on top of Google Cloud.