Hello,
I have been able to set up a TRex server using RHEL 7.8 on an m5dn.12xlarge instance type (48 cores, 50 Gbps). I would like to use TRex to benchmark the network performance of the instance to determine it's Bandwidth and maximum PPS. I have not yet gotten to testing my specific application, I just need to know the instance's limitations.
Before I share what I have been trying, is there a guide on how to use TRex on AWS for the use case I have shared above? Is it possible to use TRex for benchmarking the same way we use iperf (i.e. to have two EC2 instances, one client and one server, and then benchmark by sending traffic from one to the other via IP)?
...
I have attached 4 virtual NICs on the instance. All NICs are using the latest version of the ENA driver which I understand to be supported by TRex. All IP addresses are in the same subnet and they use the gateway address 172.31.0.1 (the VPC Router). The config I am using is as follows:
- version: 2
interfaces: ['00:06.0', '00:07.0', '00:08.0', '00:09.0']
stack: linux_based
low_end: false
services_core: 35
port_info:
- ip: 172.31.12.235
default_gw: 172.31.0.1
- ip: 172.31.3.50
default_gw: 172.31.0.1
- ip: 172.31.14.23
default_gw: 172.31.0.1
- ip: 172.31.0.64
default_gw: 172.31.0.1
platform:
master_thread_id: 0
latency_thread_id: 1
dual_if:
- socket: 0
threads: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
- socket: 0
threads: [18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]
I have tried the examples given on the TRex manual along with some of the traffic profiles that come with the installation but I get the error "STF mode does not support more than one core by dual interfaces". After changing to "-c 1", the test starts running and I can see "Total-Tx" increasing but "Total-Rx" remains 0 and the drop-rate is equal to the Total-Tx.
I suspect that this is due to misconfigured routing, but I can't figure out how to confirm or resolve the issue. I can't do a packet capture due to DPDK limitations either. Any ideas on how to resolve this?
Regards,
Tino