Skip to content

Instantly share code, notes, and snippets.

@fuji246
Last active August 9, 2019 19:07
Show Gist options
  • Save fuji246/04b73b7223b7d6ce06b433d092c8fd1a to your computer and use it in GitHub Desktop.
Save fuji246/04b73b7223b7d6ce06b433d092c8fd1a to your computer and use it in GitHub Desktop.
Linux tcp performance test

The purpose is to evaluate TCP performance in different network conditions, two tcp variances are choosen: cubic and illinois.

Test result:

case,                      tcp,              bitrate (kbps)

50ms + 3% loss,            cubic,            1050
50ms + 3% loss,            cubic,            996
50ms + 3% loss,            cubic,            1050
50ms + 3% loss,            cubic,            1120
50ms + 3% loss,            cubic,            1020
50ms + 3% loss,            cubic,            1080
50ms + 3% loss,            cubic,            1050
50ms + 3% loss,            cubic,            1270
50ms + 3% loss,            cubic,            1070
50ms + 3% loss,            cubic,            1020
50ms + 3% loss,            illinois,         4460 
50ms + 3% loss,            illinois,         1270 
50ms + 3% loss,            illinois,         1960 
50ms + 3% loss,            illinois,         1220 
50ms + 3% loss,            illinois,         2440 
50ms + 3% loss,            illinois,         3490 
50ms + 3% loss,            illinois,         1640 
50ms + 3% loss,            illinois,         1360 
50ms + 3% loss,            illinois,         1520 
50ms + 3% loss,            illinois,         1110 
50ms + 3% loss,            cubic beta 0.85,  1530
50ms + 3% loss,            cubic beta 0.85,  1580
50ms + 3% loss,            cubic beta 0.85,  1550
50ms + 3% loss,            cubic beta 0.85,  1570
50ms + 3% loss,            cubic beta 0.85,  1710
50ms + 3% loss,            cubic beta 0.85,  1190
50ms + 3% loss,            cubic beta 0.85,  1390
50ms + 3% loss,            cubic beta 0.85,  2270
50ms + 3% loss,            cubic beta 0.85,  2300
50ms + 3% loss,            cubic beta 0.85,  1910

50ms + 5% loss,            cubic,            807
50ms + 5% loss,            cubic,            503
50ms + 5% loss,            cubic,            137
50ms + 5% loss,            cubic,            757
50ms + 5% loss,            cubic,            724
50ms + 5% loss,            cubic,            707
50ms + 5% loss,            cubic,            965
50ms + 5% loss,            cubic,            792
50ms + 5% loss,            cubic,            847
50ms + 5% loss,            cubic,            749
50ms + 5% loss,            illinois,         956
50ms + 5% loss,            illinois,         935
50ms + 5% loss,            illinois,         913
50ms + 5% loss,            illinois,         1040
50ms + 5% loss,            illinois,         1190
50ms + 5% loss,            illinois,         845
50ms + 5% loss,            illinois,         1030 
50ms + 5% loss,            illinois,         998 
50ms + 5% loss,            illinois,         1090 
50ms + 5% loss,            illinois,         1050 
50ms + 5% loss,            cubic beta 0.85,  1230
50ms + 5% loss,            cubic beta 0.85,  1240
50ms + 5% loss,            cubic beta 0.85,  973
50ms + 5% loss,            cubic beta 0.85,  1030
50ms + 5% loss,            cubic beta 0.85,  1070
50ms + 5% loss,            cubic beta 0.85,  1130
50ms + 5% loss,            cubic beta 0.85,  1270
50ms + 5% loss,            cubic beta 0.85,  1180
50ms + 5% loss,            cubic beta 0.85,  1170
50ms + 5% loss,            cubic beta 0.85,  1020

50ms + 10% loss,           cubic,            489
50ms + 10% loss,           cubic,            602
50ms + 10% loss,           cubic,            490
50ms + 10% loss,           cubic,            530
50ms + 10% loss,           cubic,            528
50ms + 10% loss,           cubic,            604
50ms + 10% loss,           cubic,            527
50ms + 10% loss,           cubic,            407
50ms + 10% loss,           cubic,            472
50ms + 10% loss,           cubic,            468
50ms + 10% loss,           illinois,         606
50ms + 10% loss,           illinois,         565
50ms + 10% loss,           illinois,         573
50ms + 10% loss,           illinois,         731
50ms + 10% loss,           illinois,         640
50ms + 10% loss,           illinois,         459
50ms + 10% loss,           illinois,         639
50ms + 10% loss,           illinois,         565
50ms + 10% loss,           illinois,         495
50ms + 10% loss,           illinois,         522
50ms + 10% loss,           cubic beta 0.85,  762
50ms + 10% loss,           cubic beta 0.85,  606
50ms + 10% loss,           cubic beta 0.85,  786
50ms + 10% loss,           cubic beta 0.85,  639
50ms + 10% loss,           cubic beta 0.85,  706
50ms + 10% loss,           cubic beta 0.85,  523
50ms + 10% loss,           cubic beta 0.85,  620
50ms + 10% loss,           cubic beta 0.85,  608
50ms + 10% loss,           cubic beta 0.85,  756
50ms + 10% loss,           cubic beta 0.85,  759

150ms + 5% loss,           cubic,            350
150ms + 5% loss,           cubic,            490
150ms + 5% loss,           cubic,            346
150ms + 5% loss,           cubic,            326
150ms + 5% loss,           cubic,            327
150ms + 5% loss,           cubic,            453
150ms + 5% loss,           cubic,            311
150ms + 5% loss,           cubic,            333
150ms + 5% loss,           cubic,            361
150ms + 5% loss,           cubic,            324
150ms + 5% loss,           illinois,         370
150ms + 5% loss,           illinois,         397
150ms + 5% loss,           illinois,         453
150ms + 5% loss,           illinois,         347
150ms + 5% loss,           illinois,         378
150ms + 5% loss,           illinois,         475
150ms + 5% loss,           illinois,         433
150ms + 5% loss,           illinois,         430
150ms + 5% loss,           illinois,         398
150ms + 5% loss,           illinois,         417
150ms + 5% loss,           cubic beta 0.85,  903
150ms + 5% loss,           cubic beta 0.85,  450
150ms + 5% loss,           cubic beta 0.85,  605
150ms + 5% loss,           cubic beta 0.85,  462
150ms + 5% loss,           cubic beta 0.85,  581
150ms + 5% loss,           cubic beta 0.85,  558
150ms + 5% loss,           cubic beta 0.85,  511
150ms + 5% loss,           cubic beta 0.85,  453
150ms + 5% loss,           cubic beta 0.85,  454
150ms + 5% loss,           cubic beta 0.85,  492

50ms,                      cubic,            63200000
50ms,                      cubic,            63800000
50ms,                      cubic,            63300000
50ms,                      cubic,            63100000
50ms,                      cubic,            9310000
50ms,                      cubic,            63600000
50ms,                      cubic,            63800000
50ms,                      cubic,            63700000
50ms,                      cubic,            62000000
50ms,                      cubic,            63700000
50ms,                      illinois,         33100000
50ms,                      illinois,         29200000
50ms,                      illinois,         33900000
50ms,                      illinois,         40700000
50ms,                      illinois,         33300000
50ms,                      illinois,         23800000
50ms,                      illinois,         23700000
50ms,                      illinois,         35700000
50ms,                      illinois,         31300000
50ms,                      illinois,         26200000
50ms,                      cubic beta 0.85,  63900000
50ms,                      cubic beta 0.85,  63700000
50ms,                      cubic beta 0.85,  64300000
50ms,                      cubic beta 0.85,  64400000
50ms,                      cubic beta 0.85,  12800000
50ms,                      cubic beta 0.85,  63500000
50ms,                      cubic beta 0.85,  64100000
50ms,                      cubic beta 0.85,  64100000
50ms,                      cubic beta 0.85,  64300000
50ms,                      cubic beta 0.85,  64900000

150ms,                     cubic,            43700000
150ms,                     cubic,            39900000
150ms,                     cubic,            51300000
150ms,                     cubic,            52000000
150ms,                     cubic,            46400000
150ms,                     cubic,            52800000
150ms,                     cubic,            52800000
150ms,                     cubic,            46800000
150ms,                     cubic,            51300000
150ms,                     cubic,            22500000
150ms,                     illinois,         14100000
150ms,                     illinois,         15600000
150ms,                     illinois,         16000000
150ms,                     illinois,         13400000
150ms,                     illinois,         12700000
150ms,                     illinois,         15400000
150ms,                     illinois,         14500000
150ms,                     illinois,         15600000
150ms,                     illinois,         14600000
150ms,                     illinois,         13900000

150ms,                     cubic beta 0.85,  8560000
150ms,                     cubic beta 0.85,  8380000
150ms,                     cubic beta 0.85,  8370000
150ms,                     cubic beta 0.85,  8330000
150ms,                     cubic beta 0.85,  8520000
150ms,                     cubic beta 0.85,  8490000
150ms,                     cubic beta 0.85,  8410000
150ms,                     cubic beta 0.85,  8500000
150ms,                     cubic beta 0.85,  8340000
150ms,                     cubic beta 0.85,  8370000
150ms,                     cubic,            8640000
150ms,                     cubic,            8450000
150ms,                     cubic,            5830000
150ms,                     cubic,            47300000
150ms,                     cubic,            46600000
150ms,                     cubic,            46700000
150ms,                     cubic,            48000000
150ms,                     cubic,            44100000
150ms,                     cubic,            49200000
150ms,                     cubic,            51800000
150ms,                     cubic beta 0.85,  19800000
150ms,                     cubic beta 0.85,  38000000
150ms,                     cubic beta 0.85,  50900000
150ms,                     cubic beta 0.85,  55500000
150ms,                     cubic beta 0.85,  55500000
150ms,                     cubic beta 0.85,  52600000
150ms,                     cubic beta 0.85,  56300000
150ms,                     cubic beta 0.85,  55000000
150ms,                     cubic beta 0.85,  55500000
150ms,                     cubic beta 0.85,  56100000

50ms + 8 mbps,             cubic,            7880
50ms + 8 mbps,             cubic,            7780
50ms + 8 mbps,             cubic,            7760
50ms + 8 mbps,             cubic,            7760
50ms + 8 mbps,             cubic,            7760
50ms + 8 mbps,             cubic,            7340
50ms + 8 mbps,             cubic,            7850
50ms + 8 mbps,             cubic,            7840
50ms + 8 mbps,             cubic,            7850
50ms + 8 mbps,             cubic,            7840
50ms + 8 mbps,             illinois,         8000
50ms + 8 mbps,             illinois,         8000
50ms + 8 mbps,             illinois,         7940
50ms + 8 mbps,             illinois,         7940
50ms + 8 mbps,             illinois,         7990
50ms + 8 mbps,             illinois,         7800
50ms + 8 mbps,             illinois,         7820
50ms + 8 mbps,             illinois,         7820
50ms + 8 mbps,             illinois,         7870
50ms + 8 mbps,             illinois,         7820
50ms + 8 mbps,             cubic beta 0.85,  5950
50ms + 8 mbps,             cubic beta 0.85,  7960
50ms + 8 mbps,             cubic beta 0.85,  7840
50ms + 8 mbps,             cubic beta 0.85,  7780
50ms + 8 mbps,             cubic beta 0.85,  7840
50ms + 8 mbps,             cubic beta 0.85,  7810
50ms + 8 mbps,             cubic beta 0.85,  7790
50ms + 8 mbps,             cubic beta 0.85,  7800
50ms + 8 mbps,             cubic beta 0.85,  7800
50ms + 8 mbps,             cubic beta 0.85,  7690

150ms + 8 mbps,            cubic,            7360
150ms + 8 mbps,            cubic,            7390
150ms + 8 mbps,            cubic,            7550
150ms + 8 mbps,            cubic,            7620
150ms + 8 mbps,            cubic,            7590
150ms + 8 mbps,            illinois,         7580
150ms + 8 mbps,            illinois,         7460
150ms + 8 mbps,            illinois,         7590
150ms + 8 mbps,            illinois,         7800
150ms + 8 mbps,            illinois,         7750

150ms + 8 mbps,            cubic,            4830
150ms + 8 mbps,            cubic,            4710
150ms + 8 mbps,            cubic,            4650
150ms + 8 mbps,            cubic,            4750
150ms + 8 mbps,            cubic,            4780
150ms + 8 mbps,            cubic,            4830
150ms + 8 mbps,            cubic,            4790
150ms + 8 mbps,            cubic,            4620
150ms + 8 mbps,            cubic,            3470
150ms + 8 mbps,            illinois,         6150
150ms + 8 mbps,            illinois,         6290
150ms + 8 mbps,            illinois,         6160
150ms + 8 mbps,            illinois,         6180
150ms + 8 mbps,            illinois,         6170
150ms + 8 mbps,            illinois,         6130
150ms + 8 mbps,            illinois,         6200
150ms + 8 mbps,            illinois,         4230
150ms + 8 mbps,            illinois,         4330
150ms + 8 mbps,            illinois,         4240

150ms + 8 mbps,            cubic,            7220
150ms + 8 mbps,            cubic,            7570
150ms + 8 mbps,            cubic,            7630
150ms + 8 mbps,            cubic,            7580
150ms + 8 mbps,            cubic,            7630
150ms + 8 mbps,            illinois,         7450
150ms + 8 mbps,            illinois,         7960
150ms + 8 mbps,            illinois,         7340
150ms + 8 mbps,            illinois,         6700
150ms + 8 mbps,            illinois,         6980

150ms + 8 mbps,            cubic beta 0.85,  7530
150ms + 8 mbps,            cubic beta 0.85,  7600
150ms + 8 mbps,            cubic beta 0.85,  7600
150ms + 8 mbps,            cubic beta 0.85,  7640
150ms + 8 mbps,            cubic beta 0.85,  7580
150ms + 8 mbps,            cubic beta 0.85,  7580
150ms + 8 mbps,            cubic beta 0.85,  7600
150ms + 8 mbps,            cubic beta 0.85,  7640
150ms + 8 mbps,            cubic beta 0.85,  7550
150ms + 8 mbps,            cubic beta 0.85,  7540

script for parsing the result:

import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import os

mpl.rcParams['figure.figsize'] = (8, 15)
figpath = 'boxplot-tcpperf.png'
cols = 2

df = pd.read_csv('/Users/jianfu/Downloads/tcpvar.csv', sep='\s*,\s*')

cases = set(df.case.unique())
rows = ((len(cases) + cols - 1))/cols

fig, axes = plt.subplots(rows, cols)
row = 0
col = 0

for idx, casename in enumerate(cases):
    df_case_fitler = df[df.case == casename]
    ax = axes[row, col]
    ax.set_title(casename)
    ax.yaxis.get_major_formatter().set_scientific(False)
    sns.boxplot(x=df_case_fitler['tcp'], y=df_case_fitler['bitrate (kbps)'], hue=df_case_fitler['tcp'], ax=ax)
    col += 1
    if col == 2:
        col = 0
        row += 1

plt.tight_layout()
plt.savefig(figpath)
os.system('open "%s"' % figpath)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment