diff --git a/perf/2020-06-08_1.0.0_perf.json b/perf/2020-06-08_1.0.0_perf.json index 444f0c2..41fd992 100644 --- a/perf/2020-06-08_1.0.0_perf.json +++ b/perf/2020-06-08_1.0.0_perf.json @@ -1,227 +1,134 @@ { - "aes256-7000": { - "ping_500": { - "rtt_min": 0.074, - "rtt_avg": 0.088, - "pkt_loss": 0.0, - "rtt_max": 13.643 - }, + "meta": { + "region": "eu-central-1", + "instance_type": "m5.large", + "ami": "ami-0a02ee601d742e89f", + "version": "1.0.0", + "duration": 495.34057664871216 + }, + "native": { "iperf": { - "cpu_sender": 6.394363, - "cpu_receiver": 54.566188, - "throughput": 2736147000.0 - }, + "throughput": 9680305000.0, + "cpu_sender": 20.862659, + "cpu_receiver": 65.856166 + }, "ping_100": { - "rtt_min": 0.073, - "rtt_avg": 0.085, - "pkt_loss": 0.0, - "rtt_max": 0.698 - }, + "rtt_min": 0.035, + "rtt_max": 0.121, + "rtt_avg": 0.04, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.036, + "rtt_max": 0.151, + "rtt_avg": 0.042, + "pkt_loss": 0.0 + }, "ping_1000": { - "rtt_min": 0.077, - "rtt_avg": 0.089, - "pkt_loss": 0.0, - "rtt_max": 0.152 + "rtt_min": 0.039, + "rtt_max": 0.145, + "rtt_avg": 0.043, + "pkt_loss": 0.0 } - }, + }, + "plain": { + "iperf": { + "throughput": 4836527000.0, + "cpu_sender": 9.380104, + "cpu_receiver": 65.333537 + }, + "ping_100": { + "rtt_min": 0.06, + "rtt_max": 0.165, + "rtt_avg": 0.074, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.063, + "rtt_max": 0.389, + "rtt_avg": 0.076, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.066, + "rtt_max": 0.185, + "rtt_avg": 0.077, + "pkt_loss": 0.0 + } + }, + "aes256": { + "iperf": { + "throughput": 3312712000.0, + "cpu_sender": 7.639525, + "cpu_receiver": 54.563243 + }, + "ping_100": { + "rtt_min": 0.062, + "rtt_max": 1.352, + "rtt_avg": 0.075, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.064, + "rtt_max": 0.163, + "rtt_avg": 0.077, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.067, + "rtt_max": 0.334, + "rtt_avg": 0.079, + "pkt_loss": 0.0 + } + }, + "chacha20": { + "iperf": { + "throughput": 2418750000.0, + "cpu_sender": 4.331642, + "cpu_receiver": 49.452792 + }, + "ping_100": { + "rtt_min": 0.065, + "rtt_max": 0.182, + "rtt_avg": 0.08, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.072, + "rtt_max": 0.201, + "rtt_avg": 0.086, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.075, + "rtt_max": 0.38, + "rtt_avg": 0.09, + "pkt_loss": 0.0 + } + }, "results": { "throughput_mbits": { - "aes256-7000": 2736.147, - "plain-1400": 914.593510048459, - "chacha20-1400": 660.0519042921719, - "chacha20-7000": 2250.026, - "aes256-1400": 761.187334946869, - "plain-7000": 3930.962, - "native": 9678.675 - }, - "latency_ms": { - "aes256-7000": { - "100": 20.000000000000004, - "500": 20.499999999999996, - "1000": 21.5 - }, - "plain-1400": { - "100": 19.000000000000004, - "500": 19.000000000000004, - "1000": 20.499999999999996 - }, - "chacha20-1400": { - "100": 22.0, - "500": 23.0, - "1000": 26.500000000000004 - }, - "chacha20-7000": { - "100": 21.5, - "500": 23.5, - "1000": 26.500000000000004 - }, - "aes256-1400": { - "100": 19.000000000000004, - "500": 19.000000000000004, - "1000": 21.5 - }, - "plain-7000": { - "100": 18.500000000000004, - "500": 19.000000000000004, - "1000": 19.999999999999996 + "native": 9680.305, + "plain": 4836.527, + "aes256": 3312.712, + "chacha20": 2418.75 + }, + "latency_us": { + "plain": { + "100": 16.999999999999996, + "500": 16.999999999999996, + "1000": 17.0 + }, + "aes256": { + "100": 17.499999999999996, + "500": 17.499999999999996, + "1000": 18.000000000000004 + }, + "chacha20": { + "100": 20.0, + "500": 21.999999999999996, + "1000": 23.5 } } - }, - "plain-1400": { - "ping_500": { - "rtt_min": 0.073, - "rtt_avg": 0.085, - "pkt_loss": 0.0, - "rtt_max": 13.084 - }, - "iperf": { - "cpu_sender": 2.973476, - "cpu_receiver": 70.948196, - "throughput": 914593510.048459 - }, - "ping_100": { - "rtt_min": 0.066, - "rtt_avg": 0.083, - "pkt_loss": 0.0, - "rtt_max": 13.291 - }, - "ping_1000": { - "rtt_min": 0.073, - "rtt_avg": 0.087, - "pkt_loss": 0.0, - "rtt_max": 13.257 - } - }, - "chacha20-1400": { - "ping_500": { - "rtt_min": 0.08, - "rtt_avg": 0.093, - "pkt_loss": 0.0, - "rtt_max": 13.11 - }, - "iperf": { - "cpu_sender": 2.598758, - "cpu_receiver": 65.3863, - "throughput": 660051904.292172 - }, - "ping_100": { - "rtt_min": 0.071, - "rtt_avg": 0.089, - "pkt_loss": 0.0, - "rtt_max": 13.328 - }, - "ping_1000": { - "rtt_min": 0.084, - "rtt_avg": 0.099, - "pkt_loss": 0.0, - "rtt_max": 13.41 - } - }, - "meta": { - "ami": "ami-0a02ee601d742e89f", - "instance_type": "m5.large", - "region": "eu-central-1", - "version": "1.0.0", - "duration": 870.1210024356842 - }, - "chacha20-7000": { - "ping_500": { - "rtt_min": 0.079, - "rtt_avg": 0.094, - "pkt_loss": 0.0, - "rtt_max": 13.602 - }, - "iperf": { - "cpu_sender": 5.441034, - "cpu_receiver": 58.117002, - "throughput": 2250026000.0 - }, - "ping_100": { - "rtt_min": 0.07, - "rtt_avg": 0.088, - "pkt_loss": 0.0, - "rtt_max": 0.186 - }, - "ping_1000": { - "rtt_min": 0.085, - "rtt_avg": 0.099, - "pkt_loss": 0.0, - "rtt_max": 1.131 - } - }, - "aes256-1400": { - "ping_500": { - "rtt_min": 0.073, - "rtt_avg": 0.085, - "pkt_loss": 0.0, - "rtt_max": 12.865 - }, - "iperf": { - "cpu_sender": 2.531172, - "cpu_receiver": 64.35578, - "throughput": 761187334.946869 - }, - "ping_100": { - "rtt_min": 0.069, - "rtt_avg": 0.083, - "pkt_loss": 0.0, - "rtt_max": 13.247 - }, - "ping_1000": { - "rtt_min": 0.075, - "rtt_avg": 0.089, - "pkt_loss": 0.0, - "rtt_max": 13.338 - } - }, - "plain-7000": { - "ping_500": { - "rtt_min": 0.073, - "rtt_avg": 0.085, - "pkt_loss": 0.0, - "rtt_max": 13.48 - }, - "iperf": { - "cpu_sender": 9.545279, - "cpu_receiver": 66.830757, - "throughput": 3930962000.0 - }, - "ping_100": { - "rtt_min": 0.07, - "rtt_avg": 0.082, - "pkt_loss": 0.0, - "rtt_max": 0.2 - }, - "ping_1000": { - "rtt_min": 0.075, - "rtt_avg": 0.086, - "pkt_loss": 0.0, - "rtt_max": 0.927 - } - }, - "native": { - "ping_500": { - "rtt_min": 0.04, - "rtt_avg": 0.047, - "pkt_loss": 0.0, - "rtt_max": 12.794 - }, - "iperf": { - "cpu_sender": 14.622503, - "cpu_receiver": 74.530595, - "throughput": 9678675000.0 - }, - "ping_100": { - "rtt_min": 0.038, - "rtt_avg": 0.045, - "pkt_loss": 0.0, - "rtt_max": 13.168 - }, - "ping_1000": { - "rtt_min": 0.041, - "rtt_avg": 0.046, - "pkt_loss": 0.0, - "rtt_max": 13.177 - } } } \ No newline at end of file diff --git a/perf/2020-06-08_1.1.0_perf.json b/perf/2020-06-08_1.1.0_perf.json index dcbc917..ddd44c4 100644 --- a/perf/2020-06-08_1.1.0_perf.json +++ b/perf/2020-06-08_1.1.0_perf.json @@ -1,227 +1,134 @@ { - "aes256-7000": { - "ping_500": { - "rtt_min": 0.074, - "rtt_avg": 0.086, - "pkt_loss": 0.0, - "rtt_max": 0.585 - }, + "meta": { + "region": "eu-central-1", + "instance_type": "m5.large", + "ami": "ami-0a02ee601d742e89f", + "version": "1.1.0", + "duration": 495.3976471424103 + }, + "native": { "iperf": { - "cpu_sender": 5.708496, - "cpu_receiver": 58.180282, - "throughput": 3004232000.0 - }, + "throughput": 9672876000.0, + "cpu_sender": 21.627575, + "cpu_receiver": 68.637173 + }, "ping_100": { - "rtt_min": 0.071, - "rtt_avg": 0.084, - "pkt_loss": 0.0, - "rtt_max": 0.691 - }, + "rtt_min": 0.049, + "rtt_max": 0.869, + "rtt_avg": 0.057, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.051, + "rtt_max": 13.136, + "rtt_avg": 0.059, + "pkt_loss": 0.0 + }, "ping_1000": { - "rtt_min": 0.073, - "rtt_avg": 0.087, - "pkt_loss": 0.0, - "rtt_max": 0.633 + "rtt_min": 0.054, + "rtt_max": 0.179, + "rtt_avg": 0.06, + "pkt_loss": 0.0 } - }, + }, + "plain": { + "iperf": { + "throughput": 4983797000.0, + "cpu_sender": 11.27702, + "cpu_receiver": 65.580003 + }, + "ping_100": { + "rtt_min": 0.077, + "rtt_max": 0.24, + "rtt_avg": 0.093, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.078, + "rtt_max": 13.188, + "rtt_avg": 0.096, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.083, + "rtt_max": 0.223, + "rtt_avg": 0.097, + "pkt_loss": 0.0 + } + }, + "aes256": { + "iperf": { + "throughput": 3226869000.0, + "cpu_sender": 5.683309, + "cpu_receiver": 54.09244 + }, + "ping_100": { + "rtt_min": 0.077, + "rtt_max": 1.533, + "rtt_avg": 0.095, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.082, + "rtt_max": 13.21, + "rtt_avg": 0.098, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.084, + "rtt_max": 0.249, + "rtt_avg": 0.099, + "pkt_loss": 0.0 + } + }, + "chacha20": { + "iperf": { + "throughput": 2740356000.0, + "cpu_sender": 7.041418, + "cpu_receiver": 56.705647 + }, + "ping_100": { + "rtt_min": 0.081, + "rtt_max": 0.299, + "rtt_avg": 0.096, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.087, + "rtt_max": 13.089, + "rtt_avg": 0.104, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.092, + "rtt_max": 0.36, + "rtt_avg": 0.108, + "pkt_loss": 0.0 + } + }, "results": { "throughput_mbits": { - "aes256-7000": 3004.232, - "plain-1400": 937.318890315313, - "chacha20-1400": 616.982586318721, - "chacha20-7000": 2139.102, - "aes256-1400": 804.276052366516, - "plain-7000": 4251.583, - "native": 9677.49 - }, - "latency_ms": { - "aes256-7000": { - "100": 19.500000000000004, - "500": 19.999999999999996, - "1000": 19.999999999999996 - }, - "plain-1400": { - "100": 18.500000000000004, - "500": 19.000000000000004, - "1000": 19.000000000000004 - }, - "chacha20-1400": { - "100": 21.5, - "500": 24.0, - "1000": 26.000000000000004 - }, - "chacha20-7000": { - "100": 21.5, - "500": 23.5, - "1000": 25.0 - }, - "aes256-1400": { - "100": 19.500000000000004, - "500": 20.499999999999996, - "1000": 19.999999999999996 - }, - "plain-7000": { - "100": 18.500000000000004, - "500": 18.500000000000004, - "1000": 19.000000000000004 + "native": 9672.876, + "plain": 4983.797, + "aes256": 3226.869, + "chacha20": 2740.356 + }, + "latency_us": { + "plain": { + "100": 18.0, + "500": 18.500000000000004, + "1000": 18.500000000000004 + }, + "aes256": { + "100": 19.0, + "500": 19.500000000000004, + "1000": 19.500000000000004 + }, + "chacha20": { + "100": 19.5, + "500": 22.5, + "1000": 24.0 } } - }, - "plain-1400": { - "ping_500": { - "rtt_min": 0.069, - "rtt_avg": 0.084, - "pkt_loss": 0.0, - "rtt_max": 0.559 - }, - "iperf": { - "cpu_sender": 2.846318, - "cpu_receiver": 65.526508, - "throughput": 937318890.315313 - }, - "ping_100": { - "rtt_min": 0.064, - "rtt_avg": 0.082, - "pkt_loss": 0.0, - "rtt_max": 3.378 - }, - "ping_1000": { - "rtt_min": 0.072, - "rtt_avg": 0.085, - "pkt_loss": 0.0, - "rtt_max": 0.529 - } - }, - "chacha20-1400": { - "ping_500": { - "rtt_min": 0.081, - "rtt_avg": 0.094, - "pkt_loss": 0.0, - "rtt_max": 0.537 - }, - "iperf": { - "cpu_sender": 2.220085, - "cpu_receiver": 59.560219, - "throughput": 616982586.318721 - }, - "ping_100": { - "rtt_min": 0.073, - "rtt_avg": 0.088, - "pkt_loss": 0.0, - "rtt_max": 0.641 - }, - "ping_1000": { - "rtt_min": 0.085, - "rtt_avg": 0.099, - "pkt_loss": 0.0, - "rtt_max": 0.67 - } - }, - "meta": { - "ami": "ami-0a02ee601d742e89f", - "instance_type": "m5.large", - "region": "eu-central-1", - "version": "1.1.0", - "duration": 870.0856907367706 - }, - "chacha20-7000": { - "ping_500": { - "rtt_min": 0.079, - "rtt_avg": 0.093, - "pkt_loss": 0.0, - "rtt_max": 0.397 - }, - "iperf": { - "cpu_sender": 4.693588, - "cpu_receiver": 51.336932, - "throughput": 2139102000.0 - }, - "ping_100": { - "rtt_min": 0.074, - "rtt_avg": 0.088, - "pkt_loss": 0.0, - "rtt_max": 0.569 - }, - "ping_1000": { - "rtt_min": 0.084, - "rtt_avg": 0.097, - "pkt_loss": 0.0, - "rtt_max": 0.572 - } - }, - "aes256-1400": { - "ping_500": { - "rtt_min": 0.071, - "rtt_avg": 0.087, - "pkt_loss": 0.0, - "rtt_max": 10.58 - }, - "iperf": { - "cpu_sender": 2.510188, - "cpu_receiver": 64.157275, - "throughput": 804276052.366516 - }, - "ping_100": { - "rtt_min": 0.067, - "rtt_avg": 0.084, - "pkt_loss": 0.0, - "rtt_max": 1.54 - }, - "ping_1000": { - "rtt_min": 0.071, - "rtt_avg": 0.087, - "pkt_loss": 0.0, - "rtt_max": 0.237 - } - }, - "plain-7000": { - "ping_500": { - "rtt_min": 0.068, - "rtt_avg": 0.083, - "pkt_loss": 0.0, - "rtt_max": 0.402 - }, - "iperf": { - "cpu_sender": 8.801774, - "cpu_receiver": 66.18731, - "throughput": 4251583000.0 - }, - "ping_100": { - "rtt_min": 0.067, - "rtt_avg": 0.082, - "pkt_loss": 0.0, - "rtt_max": 0.701 - }, - "ping_1000": { - "rtt_min": 0.07, - "rtt_avg": 0.085, - "pkt_loss": 0.0, - "rtt_max": 0.266 - } - }, - "native": { - "ping_500": { - "rtt_min": 0.041, - "rtt_avg": 0.046, - "pkt_loss": 0.0, - "rtt_max": 0.52 - }, - "iperf": { - "cpu_sender": 14.901057, - "cpu_receiver": 61.512449, - "throughput": 9677490000.0 - }, - "ping_100": { - "rtt_min": 0.038, - "rtt_avg": 0.045, - "pkt_loss": 0.0, - "rtt_max": 0.651 - }, - "ping_1000": { - "rtt_min": 0.041, - "rtt_avg": 0.047, - "pkt_loss": 0.0, - "rtt_max": 0.663 - } } } \ No newline at end of file diff --git a/perf/2020-06-08_1.2.0_perf.json b/perf/2020-06-08_1.2.0_perf.json index 534d44a..97305e2 100644 --- a/perf/2020-06-08_1.2.0_perf.json +++ b/perf/2020-06-08_1.2.0_perf.json @@ -1,227 +1,134 @@ { - "aes256-7000": { - "ping_500": { - "rtt_min": 0.077, - "rtt_avg": 0.091, - "pkt_loss": 0.0, - "rtt_max": 0.22 - }, + "meta": { + "region": "eu-central-1", + "instance_type": "m5.large", + "ami": "ami-0a02ee601d742e89f", + "version": "1.2.0", + "duration": 495.3082287311554 + }, + "native": { "iperf": { - "cpu_sender": 4.870841, - "cpu_receiver": 58.056654, - "throughput": 2906372000.0 - }, + "throughput": 9679928000.0, + "cpu_sender": 14.518989, + "cpu_receiver": 75.510689 + }, "ping_100": { - "rtt_min": 0.076, - "rtt_avg": 0.09, - "pkt_loss": 0.0, - "rtt_max": 0.597 - }, + "rtt_min": 0.044, + "rtt_max": 0.212, + "rtt_avg": 0.052, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.049, + "rtt_max": 0.368, + "rtt_avg": 0.053, + "pkt_loss": 0.0 + }, "ping_1000": { - "rtt_min": 0.078, - "rtt_avg": 0.093, - "pkt_loss": 0.0, - "rtt_max": 0.925 + "rtt_min": 0.049, + "rtt_max": 0.422, + "rtt_avg": 0.055, + "pkt_loss": 0.0 } - }, + }, + "plain": { + "iperf": { + "throughput": 5670752000.0, + "cpu_sender": 15.711913, + "cpu_receiver": 69.661585 + }, + "ping_100": { + "rtt_min": 0.076, + "rtt_max": 0.298, + "rtt_avg": 0.092, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.079, + "rtt_max": 0.269, + "rtt_avg": 0.094, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.079, + "rtt_max": 0.469, + "rtt_avg": 0.095, + "pkt_loss": 0.0 + } + }, + "aes256": { + "iperf": { + "throughput": 3531058000.0, + "cpu_sender": 5.652232, + "cpu_receiver": 58.238361 + }, + "ping_100": { + "rtt_min": 0.08, + "rtt_max": 0.849, + "rtt_avg": 0.095, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.08, + "rtt_max": 0.205, + "rtt_avg": 0.096, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.083, + "rtt_max": 0.418, + "rtt_avg": 0.099, + "pkt_loss": 0.0 + } + }, + "chacha20": { + "iperf": { + "throughput": 2384829000.0, + "cpu_sender": 3.995289, + "cpu_receiver": 47.656852 + }, + "ping_100": { + "rtt_min": 0.08, + "rtt_max": 0.2, + "rtt_avg": 0.096, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.087, + "rtt_max": 0.223, + "rtt_avg": 0.102, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.092, + "rtt_max": 0.416, + "rtt_avg": 0.109, + "pkt_loss": 0.0 + } + }, "results": { "throughput_mbits": { - "aes256-7000": 2906.372, - "plain-1400": 845.4989025966671, - "chacha20-1400": 593.980680023114, - "chacha20-7000": 2290.887, - "aes256-1400": 752.968939682118, - "plain-7000": 4438.046, - "native": 9680.156 - }, - "latency_ms": { - "aes256-7000": { - "100": 22.0, - "500": 21.5, - "1000": 22.0 - }, - "plain-1400": { - "100": 20.499999999999996, - "500": 20.499999999999996, - "1000": 20.999999999999996 - }, - "chacha20-1400": { - "100": 23.5, - "500": 25.500000000000004, - "1000": 27.499999999999996 - }, - "chacha20-7000": { - "100": 23.5, - "500": 25.500000000000004, - "1000": 26.999999999999996 - }, - "aes256-1400": { - "100": 21.5, - "500": 22.0, - "1000": 22.5 - }, - "plain-7000": { - "100": 20.499999999999996, - "500": 20.499999999999996, - "1000": 20.499999999999996 + "native": 9679.928, + "plain": 5670.752, + "aes256": 3531.058, + "chacha20": 2384.829 + }, + "latency_us": { + "plain": { + "100": 20.0, + "500": 20.5, + "1000": 20.0 + }, + "aes256": { + "100": 21.5, + "500": 21.5, + "1000": 22.000000000000004 + }, + "chacha20": { + "100": 22.000000000000004, + "500": 24.499999999999996, + "1000": 27.0 } } - }, - "plain-1400": { - "ping_500": { - "rtt_min": 0.074, - "rtt_avg": 0.089, - "pkt_loss": 0.0, - "rtt_max": 3.605 - }, - "iperf": { - "cpu_sender": 1.925076, - "cpu_receiver": 65.76581, - "throughput": 845498902.596667 - }, - "ping_100": { - "rtt_min": 0.071, - "rtt_avg": 0.087, - "pkt_loss": 0.0, - "rtt_max": 0.381 - }, - "ping_1000": { - "rtt_min": 0.077, - "rtt_avg": 0.091, - "pkt_loss": 0.0, - "rtt_max": 3.54 - } - }, - "chacha20-1400": { - "ping_500": { - "rtt_min": 0.085, - "rtt_avg": 0.099, - "pkt_loss": 0.0, - "rtt_max": 1.654 - }, - "iperf": { - "cpu_sender": 1.538928, - "cpu_receiver": 59.900258, - "throughput": 593980680.023114 - }, - "ping_100": { - "rtt_min": 0.074, - "rtt_avg": 0.093, - "pkt_loss": 0.0, - "rtt_max": 0.382 - }, - "ping_1000": { - "rtt_min": 0.088, - "rtt_avg": 0.104, - "pkt_loss": 0.0, - "rtt_max": 3.686 - } - }, - "meta": { - "ami": "ami-0a02ee601d742e89f", - "instance_type": "m5.large", - "region": "eu-central-1", - "version": "1.2.0", - "duration": 870.1119563579559 - }, - "chacha20-7000": { - "ping_500": { - "rtt_min": 0.082, - "rtt_avg": 0.099, - "pkt_loss": 0.0, - "rtt_max": 0.702 - }, - "iperf": { - "cpu_sender": 4.365811, - "cpu_receiver": 57.666402, - "throughput": 2290887000.0 - }, - "ping_100": { - "rtt_min": 0.075, - "rtt_avg": 0.093, - "pkt_loss": 0.0, - "rtt_max": 0.591 - }, - "ping_1000": { - "rtt_min": 0.09, - "rtt_avg": 0.103, - "pkt_loss": 0.0, - "rtt_max": 0.352 - } - }, - "aes256-1400": { - "ping_500": { - "rtt_min": 0.077, - "rtt_avg": 0.092, - "pkt_loss": 0.0, - "rtt_max": 0.239 - }, - "iperf": { - "cpu_sender": 1.643239, - "cpu_receiver": 64.53098, - "throughput": 752968939.682118 - }, - "ping_100": { - "rtt_min": 0.075, - "rtt_avg": 0.089, - "pkt_loss": 0.0, - "rtt_max": 1.615 - }, - "ping_1000": { - "rtt_min": 0.08, - "rtt_avg": 0.094, - "pkt_loss": 0.0, - "rtt_max": 0.676 - } - }, - "plain-7000": { - "ping_500": { - "rtt_min": 0.074, - "rtt_avg": 0.089, - "pkt_loss": 0.0, - "rtt_max": 0.586 - }, - "iperf": { - "cpu_sender": 13.25846, - "cpu_receiver": 68.481618, - "throughput": 4438046000.0 - }, - "ping_100": { - "rtt_min": 0.071, - "rtt_avg": 0.087, - "pkt_loss": 0.0, - "rtt_max": 0.503 - }, - "ping_1000": { - "rtt_min": 0.076, - "rtt_avg": 0.09, - "pkt_loss": 0.0, - "rtt_max": 0.234 - } - }, - "native": { - "ping_500": { - "rtt_min": 0.042, - "rtt_avg": 0.048, - "pkt_loss": 0.0, - "rtt_max": 0.305 - }, - "iperf": { - "cpu_sender": 19.960378, - "cpu_receiver": 65.885621, - "throughput": 9680156000.0 - }, - "ping_100": { - "rtt_min": 0.041, - "rtt_avg": 0.046, - "pkt_loss": 0.0, - "rtt_max": 0.312 - }, - "ping_1000": { - "rtt_min": 0.043, - "rtt_avg": 0.049, - "pkt_loss": 0.0, - "rtt_max": 0.509 - } } } \ No newline at end of file diff --git a/perf/2020-06-08_1.3.0_perf.json b/perf/2020-06-08_1.3.0_perf.json index 9941054..4adab37 100644 --- a/perf/2020-06-08_1.3.0_perf.json +++ b/perf/2020-06-08_1.3.0_perf.json @@ -4,223 +4,130 @@ "instance_type": "m5.large", "ami": "ami-0a02ee601d742e89f", "version": "1.3.0", - "duration": 869.9226264953613 + "duration": 495.4212408065796 }, "native": { "iperf": { - "throughput": 9678121000.0, - "cpu_sender": 18.541256, - "cpu_receiver": 65.911053 + "throughput": 9673825000.0, + "cpu_sender": 14.002781, + "cpu_receiver": 74.93156 }, "ping_100": { - "rtt_min": 0.047, - "rtt_max": 0.113, - "rtt_avg": 0.054, + "rtt_min": 0.04, + "rtt_max": 0.235, + "rtt_avg": 0.047, "pkt_loss": 0.0 }, "ping_500": { - "rtt_min": 0.05, - "rtt_max": 0.14, - "rtt_avg": 0.055, + "rtt_min": 0.042, + "rtt_max": 0.161, + "rtt_avg": 0.048, "pkt_loss": 0.0 }, "ping_1000": { - "rtt_min": 0.049, - "rtt_max": 0.173, - "rtt_avg": 0.056, + "rtt_min": 0.043, + "rtt_max": 0.36, + "rtt_avg": 0.049, "pkt_loss": 0.0 } }, - "plain-1400": { + "plain": { "iperf": { - "throughput": 937787147.728354, - "cpu_sender": 3.517415, - "cpu_receiver": 66.394897 + "throughput": 5335762000.0, + "cpu_sender": 14.483975, + "cpu_receiver": 66.013613 }, "ping_100": { + "rtt_min": 0.069, + "rtt_max": 0.183, + "rtt_avg": 0.084, + "pkt_loss": 0.0 + }, + "ping_500": { "rtt_min": 0.074, - "rtt_max": 0.242, - "rtt_avg": 0.09, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.076, - "rtt_max": 0.256, - "rtt_avg": 0.091, + "rtt_max": 0.185, + "rtt_avg": 0.088, "pkt_loss": 0.0 }, "ping_1000": { - "rtt_min": 0.076, - "rtt_max": 0.333, - "rtt_avg": 0.092, - "pkt_loss": 0.0 - } - }, - "aes256-1400": { - "iperf": { - "throughput": 840253358.805319, - "cpu_sender": 3.11095, - "cpu_receiver": 63.676868 - }, - "ping_100": { "rtt_min": 0.077, - "rtt_max": 1.619, - "rtt_avg": 0.094, + "rtt_max": 0.203, + "rtt_avg": 0.089, + "pkt_loss": 0.0 + } + }, + "aes256": { + "iperf": { + "throughput": 3488220000.0, + "cpu_sender": 5.49698, + "cpu_receiver": 57.458403 + }, + "ping_100": { + "rtt_min": 0.073, + "rtt_max": 1.55, + "rtt_avg": 0.087, "pkt_loss": 0.0 }, "ping_500": { "rtt_min": 0.078, - "rtt_max": 0.437, - "rtt_avg": 0.096, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.083, - "rtt_max": 3.592, - "rtt_avg": 0.098, - "pkt_loss": 0.0 - } - }, - "chacha20-1400": { - "iperf": { - "throughput": 675882455.008626, - "cpu_sender": 2.813117, - "cpu_receiver": 60.831832 - }, - "ping_100": { - "rtt_min": 0.079, - "rtt_max": 0.249, - "rtt_avg": 0.096, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.085, - "rtt_max": 0.29, - "rtt_avg": 0.101, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.089, - "rtt_max": 0.222, - "rtt_avg": 0.108, - "pkt_loss": 0.0 - } - }, - "plain-7000": { - "iperf": { - "throughput": 4207272000.0, - "cpu_sender": 11.512448, - "cpu_receiver": 64.622926 - }, - "ping_100": { - "rtt_min": 0.074, - "rtt_max": 0.214, - "rtt_avg": 0.092, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.076, - "rtt_max": 0.341, + "rtt_max": 3.637, "rtt_avg": 0.091, "pkt_loss": 0.0 }, "ping_1000": { "rtt_min": 0.079, - "rtt_max": 0.271, - "rtt_avg": 0.095, + "rtt_max": 0.233, + "rtt_avg": 0.092, "pkt_loss": 0.0 } }, - "aes256-7000": { + "chacha20": { "iperf": { - "throughput": 2896202000.0, - "cpu_sender": 8.098468, - "cpu_receiver": 57.364265 + "throughput": 2784941000.0, + "cpu_sender": 4.273576, + "cpu_receiver": 59.274818 }, "ping_100": { - "rtt_min": 0.078, - "rtt_max": 0.173, - "rtt_avg": 0.094, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.079, - "rtt_max": 0.424, - "rtt_avg": 0.095, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.083, - "rtt_max": 0.224, - "rtt_avg": 0.098, - "pkt_loss": 0.0 - } - }, - "chacha20-7000": { - "iperf": { - "throughput": 2262884000.0, - "cpu_sender": 5.687549, - "cpu_receiver": 54.00455 - }, - "ping_100": { - "rtt_min": 0.078, - "rtt_max": 1.712, - "rtt_avg": 0.097, + "rtt_min": 0.073, + "rtt_max": 9.541, + "rtt_avg": 0.092, "pkt_loss": 0.0 }, "ping_500": { "rtt_min": 0.084, - "rtt_max": 0.353, - "rtt_avg": 0.101, + "rtt_max": 0.196, + "rtt_avg": 0.098, "pkt_loss": 0.0 }, "ping_1000": { - "rtt_min": 0.091, - "rtt_max": 0.227, - "rtt_avg": 0.107, + "rtt_min": 0.089, + "rtt_max": 0.614, + "rtt_avg": 0.104, "pkt_loss": 0.0 } }, "results": { "throughput_mbits": { - "native": 9678.121, - "plain-1400": 937.787147728354, - "aes256-1400": 840.253358805319, - "chacha20-1400": 675.882455008626, - "plain-7000": 4207.272, - "aes256-7000": 2896.202, - "chacha20-7000": 2262.884 + "native": 9673.825, + "plain": 5335.762, + "aes256": 3488.22, + "chacha20": 2784.941 }, - "latency_ms": { - "plain-1400": { - "100": 18.0, - "500": 18.0, - "1000": 18.0 + "latency_us": { + "plain": { + "100": 18.500000000000004, + "500": 19.999999999999996, + "1000": 19.999999999999996 }, - "aes256-1400": { - "100": 20.0, - "500": 20.5, - "1000": 21.0 + "aes256": { + "100": 19.999999999999996, + "500": 21.5, + "1000": 21.5 }, - "chacha20-1400": { - "100": 21.0, - "500": 23.000000000000004, - "1000": 26.0 - }, - "plain-7000": { - "100": 19.0, - "500": 18.0, - "1000": 19.5 - }, - "aes256-7000": { - "100": 20.0, - "500": 20.0, - "1000": 21.0 - }, - "chacha20-7000": { - "100": 21.5, - "500": 23.000000000000004, - "1000": 25.5 + "chacha20": { + "100": 22.5, + "500": 25.0, + "1000": 27.499999999999996 } } } diff --git a/perf/2020-06-08_1.4.0_perf.json b/perf/2020-06-08_1.4.0_perf.json index 14629ae..c80c218 100644 --- a/perf/2020-06-08_1.4.0_perf.json +++ b/perf/2020-06-08_1.4.0_perf.json @@ -4,223 +4,130 @@ "instance_type": "m5.large", "ami": "ami-0a02ee601d742e89f", "version": "1.4.0", - "duration": 869.958389043808 + "duration": 495.3894383907318 }, "native": { "iperf": { - "throughput": 9680326000.0, - "cpu_sender": 16.947174, - "cpu_receiver": 62.788147 + "throughput": 9679070000.0, + "cpu_sender": 12.871267, + "cpu_receiver": 71.50818 }, "ping_100": { - "rtt_min": 0.031, - "rtt_max": 0.404, - "rtt_avg": 0.035, + "rtt_min": 0.039, + "rtt_max": 0.219, + "rtt_avg": 0.047, "pkt_loss": 0.0 }, "ping_500": { - "rtt_min": 0.033, - "rtt_max": 0.34, - "rtt_avg": 0.037, + "rtt_min": 0.041, + "rtt_max": 0.184, + "rtt_avg": 0.048, "pkt_loss": 0.0 }, "ping_1000": { - "rtt_min": 0.034, - "rtt_max": 0.216, - "rtt_avg": 0.038, + "rtt_min": 0.042, + "rtt_max": 0.303, + "rtt_avg": 0.049, "pkt_loss": 0.0 } }, - "plain-1400": { + "plain": { "iperf": { - "throughput": 940748265.414369, - "cpu_sender": 2.128748, - "cpu_receiver": 67.266424 + "throughput": 4991320000.0, + "cpu_sender": 8.543496, + "cpu_receiver": 65.730322 }, "ping_100": { - "rtt_min": 0.061, - "rtt_max": 0.214, - "rtt_avg": 0.073, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.061, - "rtt_max": 0.209, - "rtt_avg": 0.074, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.063, - "rtt_max": 0.212, - "rtt_avg": 0.076, - "pkt_loss": 0.0 - } - }, - "aes256-1400": { - "iperf": { - "throughput": 848072373.681968, - "cpu_sender": 3.673014, - "cpu_receiver": 67.785447 - }, - "ping_100": { - "rtt_min": 0.062, - "rtt_max": 1.592, - "rtt_avg": 0.076, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.065, - "rtt_max": 0.276, - "rtt_avg": 0.078, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.066, - "rtt_max": 3.276, - "rtt_avg": 0.08, - "pkt_loss": 0.0 - } - }, - "chacha20-1400": { - "iperf": { - "throughput": 651477352.697557, - "cpu_sender": 3.299836, - "cpu_receiver": 62.990183 - }, - "ping_100": { - "rtt_min": 0.066, - "rtt_max": 2.066, - "rtt_avg": 0.079, - "pkt_loss": 0.0 - }, - "ping_500": { "rtt_min": 0.071, - "rtt_max": 0.185, - "rtt_avg": 0.084, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.075, - "rtt_max": 0.624, - "rtt_avg": 0.089, - "pkt_loss": 0.0 - } - }, - "plain-7000": { - "iperf": { - "throughput": 4369926000.0, - "cpu_sender": 13.042179, - "cpu_receiver": 68.669349 - }, - "ping_100": { - "rtt_min": 0.06, - "rtt_max": 0.227, - "rtt_avg": 0.075, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.064, - "rtt_max": 0.22, - "rtt_avg": 0.078, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.063, - "rtt_max": 0.168, - "rtt_avg": 0.076, - "pkt_loss": 0.0 - } - }, - "aes256-7000": { - "iperf": { - "throughput": 3108569000.0, - "cpu_sender": 5.808026, - "cpu_receiver": 62.726234 - }, - "ping_100": { - "rtt_min": 0.064, - "rtt_max": 0.267, - "rtt_avg": 0.078, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.066, - "rtt_max": 0.297, - "rtt_avg": 0.08, - "pkt_loss": 0.0 - }, - "ping_1000": { - "rtt_min": 0.069, - "rtt_max": 0.208, - "rtt_avg": 0.082, - "pkt_loss": 0.0 - } - }, - "chacha20-7000": { - "iperf": { - "throughput": 2136825000.0, - "cpu_sender": 4.381177, - "cpu_receiver": 50.957336 - }, - "ping_100": { - "rtt_min": 0.065, - "rtt_max": 0.235, - "rtt_avg": 0.08, - "pkt_loss": 0.0 - }, - "ping_500": { - "rtt_min": 0.072, - "rtt_max": 0.26, + "rtt_max": 3.557, "rtt_avg": 0.087, "pkt_loss": 0.0 }, + "ping_500": { + "rtt_min": 0.075, + "rtt_max": 0.726, + "rtt_avg": 0.088, + "pkt_loss": 0.0 + }, "ping_1000": { - "rtt_min": 0.078, - "rtt_max": 0.308, + "rtt_min": 0.076, + "rtt_max": 3.38, "rtt_avg": 0.091, "pkt_loss": 0.0 } }, + "aes256": { + "iperf": { + "throughput": 3824049000.0, + "cpu_sender": 8.673973, + "cpu_receiver": 62.240793 + }, + "ping_100": { + "rtt_min": 0.072, + "rtt_max": 1.365, + "rtt_avg": 0.09, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.078, + "rtt_max": 0.236, + "rtt_avg": 0.092, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.079, + "rtt_max": 0.439, + "rtt_avg": 0.094, + "pkt_loss": 0.0 + } + }, + "chacha20": { + "iperf": { + "throughput": 2838553000.0, + "cpu_sender": 6.9273, + "cpu_receiver": 60.482437 + }, + "ping_100": { + "rtt_min": 0.075, + "rtt_max": 0.783, + "rtt_avg": 0.093, + "pkt_loss": 0.0 + }, + "ping_500": { + "rtt_min": 0.086, + "rtt_max": 0.208, + "rtt_avg": 0.098, + "pkt_loss": 0.0 + }, + "ping_1000": { + "rtt_min": 0.088, + "rtt_max": 0.214, + "rtt_avg": 0.103, + "pkt_loss": 0.0 + } + }, "results": { "throughput_mbits": { - "native": 9680.326, - "plain-1400": 940.748265414369, - "aes256-1400": 848.072373681968, - "chacha20-1400": 651.477352697557, - "plain-7000": 4369.926, - "aes256-7000": 3108.569, - "chacha20-7000": 2136.825 + "native": 9679.07, + "plain": 4991.32, + "aes256": 3824.049, + "chacha20": 2838.553 }, - "latency_ms": { - "plain-1400": { - "100": 18.999999999999996, - "500": 18.5, - "1000": 19.0 - }, - "aes256-1400": { - "100": 20.499999999999996, - "500": 20.5, - "1000": 21.0 - }, - "chacha20-1400": { - "100": 22.0, - "500": 23.500000000000004, - "1000": 25.5 - }, - "plain-7000": { + "latency_us": { + "plain": { "100": 19.999999999999996, - "500": 20.5, - "1000": 19.0 + "500": 19.999999999999996, + "1000": 20.999999999999996 }, - "aes256-7000": { + "aes256": { "100": 21.5, - "500": 21.5, - "1000": 22.000000000000004 + "500": 22.0, + "1000": 22.5 }, - "chacha20-7000": { - "100": 22.5, - "500": 24.999999999999996, - "1000": 26.5 + "chacha20": { + "100": 23.0, + "500": 25.0, + "1000": 26.999999999999996 } } } diff --git a/perf/perf.py b/perf/perf.py index c1e61dd..c64dd92 100755 --- a/perf/perf.py +++ b/perf/perf.py @@ -13,7 +13,7 @@ import sys from datetime import date -# Note: this script will run for 15 minutes and incur costs of about $ 0.03 +# Note: this script will run for ~8 minutes and incur costs of about $ 0.02 REGION = "eu-central-1" AMI = "ami-0a02ee601d742e89f" @@ -65,6 +65,7 @@ class EC2Environment: self.sender_ssh = None self.receiver_ssh = None try: + eprint("Setting up resources...") self.setup() self.wait_until_ready() eprint("Setup done") @@ -78,36 +79,36 @@ class EC2Environment: ec2client = boto3.client('ec2', region_name=REGION) self.vpc = ec2.create_vpc(CidrBlock='172.16.0.0/16') - eprint("Created VPC {}".format(self.vpc.id)) + eprint("\tCreated VPC {}".format(self.vpc.id)) self.vpc.create_tags(Tags=[{"Key": "Name", "Value": "vpncloud-perf-test"}]) self.vpc.wait_until_available() ec2client.modify_vpc_attribute(VpcId=self.vpc.id, EnableDnsSupport={'Value': True}) ec2client.modify_vpc_attribute(VpcId=self.vpc.id, EnableDnsHostnames={'Value': True}) self.igw = ec2.create_internet_gateway() - eprint("Created Internet Gateway {}".format(self.igw.id)) + eprint("\tCreated Internet Gateway {}".format(self.igw.id)) self.igw.attach_to_vpc(VpcId=self.vpc.id) self.rtb = self.vpc.create_route_table() - eprint("Created Routing table {}".format(self.rtb.id)) + eprint("\tCreated Routing table {}".format(self.rtb.id)) self.rtb.create_route(DestinationCidrBlock='0.0.0.0/0', GatewayId=self.igw.id) self.subnet = ec2.create_subnet(CidrBlock='172.16.1.0/24', VpcId=self.vpc.id) - eprint("Created Subnet {}".format(self.subnet.id)) + eprint("\tCreated Subnet {}".format(self.subnet.id)) self.rtb.associate_with_subnet(SubnetId=self.subnet.id) self.sg = ec2.create_security_group(GroupName='SSH-ONLY', Description='only allow SSH traffic', VpcId=self.vpc.id) - eprint("Created security group {}".format(self.sg.id)) + eprint("\tCreated security group {}".format(self.sg.id)) self.sg.authorize_ingress(CidrIp='0.0.0.0/0', IpProtocol='tcp', FromPort=22, ToPort=22) self.sg.authorize_ingress(CidrIp='172.16.1.0/24', IpProtocol='icmp', FromPort=-1, ToPort=-1) self.sg.authorize_ingress(CidrIp='172.16.1.0/24', IpProtocol='tcp', FromPort=0, ToPort=65535) self.sg.authorize_ingress(CidrIp='172.16.1.0/24', IpProtocol='udp', FromPort=0, ToPort=65535) self.key_pair = ec2.create_key_pair(KeyName='vpncloud-perf-test-keypair') - eprint("Created key pair {}".format(self.key_pair.name)) + eprint("\tCreated key pair {}".format(self.key_pair.name)) self.rsa_key = paramiko.RSAKey.from_private_key(io.StringIO(self.key_pair.key_material)) self.placement_group = ec2.create_placement_group(GroupName="vpncloud-test-placement", Strategy="cluster") - eprint("Created placement group {}".format(self.placement_group.name)) + eprint("\tCreated placement group {}".format(self.placement_group.name)) if SPOT: response = ec2client.request_spot_instances( SpotPrice = MAX_PRICE, @@ -144,8 +145,8 @@ class EC2Environment: sender, receiver = response['SpotInstanceRequests'] self.sender_request = sender['SpotInstanceRequestId'] self.receiver_request = receiver['SpotInstanceRequestId'] - eprint("Created spot instance requests {} and {}".format(self.sender_request, self.receiver_request)) - eprint("Waiting for spot instance requests") + eprint("\tCreated spot instance requests {} and {}".format(self.sender_request, self.receiver_request)) + eprint("\tWaiting for spot instance requests") waited = 0 while waited < MAX_WAIT: time.sleep(1.0) @@ -181,8 +182,8 @@ class EC2Environment: UserData=USERDATA, KeyName='vpncloud-perf-test-keypair' ) - eprint("Created EC2 instances {} and {}".format(self.sender.id, self.receiver.id)) - eprint("Waiting for instances to start...") + eprint("\tCreated EC2 instances {} and {}".format(self.sender.id, self.receiver.id)) + eprint("\tWaiting for instances to start...") self.sender.wait_until_running() self.receiver.wait_until_running() self.sender.reload() @@ -190,7 +191,7 @@ class EC2Environment: def wait_until_ready(self): waited = 0 - eprint("Waiting for SSH to be ready...") + eprint("\tWaiting for SSH to be ready...") while waited < MAX_WAIT: try: if not self.sender_ssh: @@ -202,7 +203,7 @@ class EC2Environment: pass time.sleep(1.0) waited += 1 - eprint("Waiting for instances to finish setup...") + eprint("\tWaiting for instances to finish setup...") while waited < MAX_WAIT: try: run_cmd(self.sender_ssh, 'test -f /var/lib/cloud/instance/boot-finished') @@ -288,7 +289,7 @@ class PerfTest: return run_cmd(self.receiver_ssh, cmd) def run_ping(self, dst, size): - eprint("Running ping {} with size {} ...".format(dst, size)) + eprint("\tRunning ping {} with size {} ...".format(dst, size)) (out, _) = self.run_sender('sudo ping {dst} -c 30000 -i 0.001 -s {size} -U -q'.format(dst=dst, size=size)) match = re.search(r'([\d]*\.[\d]*)/([\d]*\.[\d]*)/([\d]*\.[\d]*)/([\d]*\.[\d]*)', out) ping_min = float(match.group(1)) @@ -304,7 +305,7 @@ class PerfTest: } def run_iperf(self, dst): - eprint("Running iperf on {} ...".format(dst)) + eprint("\tRunning iperf on {} ...".format(dst)) self.run_receiver('iperf3 -s -D') time.sleep(0.1) (out, _) = self.run_sender('iperf3 -c {dst} -t 30 --json'.format(dst=dst)) @@ -324,12 +325,12 @@ class PerfTest: "ping_1000": self.run_ping(dst, 1000), } - def start_vpncloud(self, mtu=1400, crypto=None): - eprint("Setting up vpncloud on receiver") + def start_vpncloud(self, mtu=8800, crypto=None): + eprint("\tSetting up vpncloud on receiver") crypto_str = " --shared-key test --crypto {}".format(crypto) if crypto else "" args = "-t tap --daemon -l 3210 --no-port-forwarding" + crypto_str self.run_receiver("sudo vpncloud {args} --ifup 'ifconfig $IFNAME {ip}/24 mtu {mtu} up'".format(args=args, mtu=mtu, ip=self.receiver_ip_vpncloud)) - eprint("Setting up vpncloud on sender") + eprint("\tSetting up vpncloud on sender") self.run_sender("sudo vpncloud {args} -c {peer}:3210 --ifup 'ifconfig $IFNAME {ip}/24 mtu {mtu} up'".format(args=args, mtu=mtu, ip=self.sender_ip_vpncloud, peer=self.receiver_ip)) time.sleep(1.0) @@ -339,6 +340,7 @@ class PerfTest: time.sleep(3.0) def run(self): + eprint("Testing native network") results = { "meta": { "region": REGION, @@ -348,21 +350,20 @@ class PerfTest: }, "native": self.run_suite(self.receiver_ip) } - for mtu in [1400, 7000]: - for crypto in [None, "aes256", "chacha20"]: - eprint("Running with mtu {} and crypto {}".format(mtu, crypto or "plain")) - self.start_vpncloud(mtu=mtu, crypto=crypto) - res = self.run_suite(self.receiver_ip_vpncloud) - self.stop_vpncloud() - results["{}-{}".format(crypto or "plain", mtu)] = res + for crypto in [None, "aes256", "chacha20"]: + eprint("Running with crypto {}".format(crypto or "plain")) + self.start_vpncloud(mtu=8800, crypto=crypto) + res = self.run_suite(self.receiver_ip_vpncloud) + self.stop_vpncloud() + results[str(crypto or "plain")] = res results['results'] = { "throughput_mbits": dict([ - (k, results[k]["iperf"]["throughput"] / 1000000.0) for k in ["native", "plain-1400", "aes256-1400", "chacha20-1400", "plain-7000", "aes256-7000", "chacha20-7000"] + (k, results[k]["iperf"]["throughput"] / 1000000.0) for k in ["native", "plain", "aes256", "chacha20"] ]), - "latency_ms": dict([ + "latency_us": dict([ (k, dict([ (str(s), (results[k]["ping_%s" % s]["rtt_avg"] - results["native"]["ping_%s" % s]["rtt_avg"])*1000.0/2.0) for s in [100, 500, 1000] - ])) for k in ["plain-1400", "aes256-1400", "chacha20-1400", "plain-7000", "aes256-7000", "chacha20-7000"] + ])) for k in ["plain", "aes256", "chacha20"] ]) } return results