throughput в виде FPS (PPS)
Удобная reference таблица теоретических максимумов по throughput в виде FPS (PPS) на базе значения throughput в виде L1 Mbps из отчета Ixia IxNetwork:
Theoretical maximum Frame Rates (frames/second) for different frame sizes (bytes)
Получить значение throughput в виде PPS из L1 Mbps и frame size для значений Mbps, которых нет в таблице (и для верификации данных таблицы, при необходимости) можно используя Excel или формулу ниже.
https://en.wikipedia.org/wiki/Ethernet_frame
IFG/IPG - 12 byte
PRE - 7 byte
SFD - 1 byte
pps = mbps * 1000000 / ((frame_size+12+7+1) * 8)
Throughput в виде mbps
Получить значение throughput в виде L2 Mbps из PPS и frame size так же можно используя Excel или формулу ниже.
l2_mbps = pps * frame_size * 8 / 1000000
Для представления в виде L1 Mbps нужно добавлять накладные расходы L1 (PRE, SFD, IFG).
l1_mbps = pps * (frame_size + 12 + 7 + 1) * 8 / 1000000
Теория расчета.
L2 throughput mbps: (frame_size * 8 * PPS)/ 1 000 000
10G 64 byte: (64 * 8 * 14 880 952)/ 1 000 000 = 7 619,047
на 8 умножаем для перевода byte в bit frame_size, делим на миллион для перевода бит в mbit
L4 UDP throughput (goodput) mbps: ((frame_size – 18 – 20 – 8) * 8 * PPS)/ 1 000 000
10G 64 byte: ((64 - 18 - 20 - 8) * 8 * 14 880 952)/ 1 000 000 = 2 142,857
логика такая же, как выше, дополнительно вычитаем данные под служебные поля (46 byte):
1) Ethernet II 18 byte (header 14, footer 4) без учета накладных расходов Ethernet L1 (PRE, SFD, IFG) помимо header/footer (они учитываются в расчете теор. предела PPS в таблице выше)
2) IP 20 byte (min)
3) UDP 8 byte
В итоге остается всего 18 byte под payload UDP. Зачастую средствам измерения/генерации трафика недостаточно этого количества для помещения всех служебных данных, необходимых для тестов (сигнатуры/таймштампы/сиквенсчекеры).