Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

2020-08-04 Thread Jerome Tollet via lists.fd.io
Hello Rajiv,
I don’t have any documentation about fine tuning performance on multicore in 
lxc.
VPP 20.05 significantly improved mq support for tapv2. It also improved support 
for GSO which may be useful depending on your use case.
Regards,
Jerome

De : Rajith PR 
Date : vendredi 31 juillet 2020 à 10:07
À : Jerome Tollet 
Cc : vpp-dev 
Objet : Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

Thanks Jerome. I have pinned VPP thread to different cores (no isolation 
though). And yes after migrating to tapv2 interface, performance significantly 
improved (75x times approx).
Do you have any documentation on how to fine tune the performance on multi core 
in an lxc container.

Thanks,
Rajith

On Thu, Jul 30, 2020 at 5:06 PM Jerome Tollet (jtollet) 
mailto:jtol...@cisco.com>> wrote:
Hello Rajith,

1.   are you making sure your vpp workers are not sharing same cores and are 
isolated?

2.   host-interfaces are slower than vpp tapv2 interfaces. Maybe you should try 
them.
Jerome



De : mailto:vpp-dev@lists.fd.io>> au nom de "Rajith PR via 
lists.fd.io<http://lists.fd.io>" 
mailto:rtbrick@lists.fd.io>>
Répondre à : "raj...@rtbrick.com<mailto:raj...@rtbrick.com>" 
mailto:raj...@rtbrick.com>>
Date : jeudi 30 juillet 2020 à 08:44
À : vpp-dev mailto:vpp-dev@lists.fd.io>>
Objet : Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

Looks like the image is not visible. Resending the topology diagram for 
reference.


[cid:image001.png@01D66AB0.7BFF8520]


On Thu, Jul 30, 2020 at 11:44 AM Rajith PR via lists.fd.io<http://lists.fd.io> 
mailto:rtbrick@lists.fd.io>> wrote:
Hello Experts,

I am trying to measure the performance of memif interface and getting a very 
low bandwidth(652Kbytes/sec).  I am new to performance tuning and any help on 
troubleshooting the issue would be very helpful.

The test topology i am using is as below:

Erreur ! Nom du fichier non spécifié.

Basically, I have two lxc containers each hosting an instance of VPP. The VPP 
instances are connected using memif. On lxc-01 i run the iperf3 client that 
generates TCP traffic and on lxc-02 i run the iperf3 server. Linux veth pairs 
are used for interconnecting the iperf tool with VPP.

Test Environment:

CPU Details:

 *-cpu
  description: CPU
  product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
  vendor: Intel Corp.
  physical id: c
  bus info: cpu@0
  version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
  serial: None
  slot: U3E1
  size: 3100MHz
  capacity: 3100MHz
  width: 64 bits
  clock: 100MHz
  capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce 
cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss 
ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc art arch_perfmon pebs bts 
rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 
monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 
x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 
3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp 
tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 
erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 
xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear 
flush_l1d cpufreq
  configuration: cores=2 enabledcores=2 threads=4

VPP Configuration:

No workers. VPP main thread, iperf client and server are pinned to separate 
cores.

Test Results:

[11:36][ubuntu:~]$ iperf3 -s -B 200.1.1.1 -f K -A 3
---
Server listening on 5201
---
Accepted connection from 100.1.1.1, port 45188
[  5] local 200.1.1.1 port 5201 connected to 100.1.1.1 port 45190
[ ID] Interval   Transfer Bandwidth
[  5]   0.00-1.00   sec   154 KBytes   154 KBytes/sec
[  5]   1.00-2.00   sec   783 KBytes   784 KBytes/sec
[  5]   2.00-3.00   sec   782 KBytes   782 KBytes/sec
[  5]   3.00-4.00   sec   663 KBytes   663 KBytes/sec
[  5]   4.00-5.00   sec   631 KBytes   631 KBytes/sec
[  5]   5.00-6.00   sec   677 KBytes   677 KBytes/sec
[  5]   6.00-7.00   sec   693 KBytes   693 KBytes/sec
[  5]   7.00-8.00   sec   706 KBytes   706 KBytes/sec
[  5]   8.00-9.00   sec   672 KBytes   672 KBytes/sec
[  5]   9.00-10.00  sec   764 KBytes   764 KBytes/sec
[  5]  10.00-10.04  sec  21.2 KBytes   504 KBytes/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bandwidth
[  5]   0.00-10.04  sec  0.00 Bytes  0.00 KBytes/sec  sender
[  5]   0.00-10.04  sec  6.39 MBytes   652 KBytes/sec  receiver
---
Server listening on 5201
-

Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

2020-07-31 Thread Rajith PR via lists.fd.io
Thanks Jerome. I have pinned VPP thread to different cores (no isolation
though). And yes after migrating to tapv2 interface, *performance
significantly improved (75x times approx)*.
Do you have any documentation on how to fine tune the performance on multi
core in an lxc container.

Thanks,
Rajith

On Thu, Jul 30, 2020 at 5:06 PM Jerome Tollet (jtollet) 
wrote:

> Hello Rajith,
>
>1. are you making sure your vpp workers are not sharing same cores and
>are isolated?
>2. host-interfaces are slower than vpp tapv2 interfaces. Maybe you
>should try them.
>
> Jerome
>
>
>
>
>
>
>
> *De : * au nom de "Rajith PR via lists.fd.io"
> 
> *Répondre à : *"raj...@rtbrick.com" 
> *Date : *jeudi 30 juillet 2020 à 08:44
> *À : *vpp-dev 
> *Objet : *Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface
>
>
>
> Looks like the image is not visible. Resending the topology diagram for
> reference.
>
>
>
>
>
>
>
>
>
> On Thu, Jul 30, 2020 at 11:44 AM Rajith PR via lists.fd.io  rtbrick@lists.fd.io> wrote:
>
> Hello Experts,
>
>
>
> I am trying to measure the performance of memif interface and getting a
> very low bandwidth(652Kbytes/sec).  I am new to performance tuning and any
> help on troubleshooting the issue would be very helpful.
>
>
>
> The test topology i am using is as below:
>
>
>
> [image: Image supprimée par l'expéditeur.]
>
>
>
> Basically, I have two lxc containers each hosting an instance of VPP. The
> VPP instances are connected using memif. On lxc-01 i run the iperf3 client
> that generates TCP traffic and on lxc-02 i run the iperf3 server. Linux
> veth pairs are used for interconnecting the iperf tool with VPP.
>
>
>
> *Test Environment:*
>
>
>
> *CPU Details:*
>
>
>
>  *-cpu
>   description: CPU
>   product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
>   vendor: Intel Corp.
>   physical id: c
>   bus info: cpu@0
>   version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
>   serial: None
>   slot: U3E1
>   size: 3100MHz
>   capacity: 3100MHz
>   width: 64 bits
>   clock: 100MHz
>   capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae
> mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse
> sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc art arch_perfmon
> pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq
> dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1
> sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand
> lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb
> stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2
> smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt
> xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window
> hwp_epp md_clear flush_l1d cpufreq
>   configuration: cores=2 enabledcores=2 threads=4
>
>
>
> *VPP Configuration:*
>
>
>
> No workers. VPP main thread, iperf client and server are pinned to
> separate cores.
>
>
>
> *Test Results:*
>
>
>
> [11:36][ubuntu:~]$ iperf3 -s -B 200.1.1.1 -f K -A 3
>
> ---
> Server listening on 5201
> ---
> Accepted connection from 100.1.1.1, port 45188
> [  5] local 200.1.1.1 port 5201 connected to 100.1.1.1 port 45190
> [ ID] Interval   Transfer Bandwidth
> [  5]   0.00-1.00   sec   154 KBytes   154 KBytes/sec
> [  5]   1.00-2.00   sec   783 KBytes   784 KBytes/sec
> [  5]   2.00-3.00   sec   782 KBytes   782 KBytes/sec
> [  5]   3.00-4.00   sec   663 KBytes   663 KBytes/sec
> [  5]   4.00-5.00   sec   631 KBytes   631 KBytes/sec
> [  5]   5.00-6.00   sec   677 KBytes   677 KBytes/sec
> [  5]   6.00-7.00   sec   693 KBytes   693 KBytes/sec
> [  5]   7.00-8.00   sec   706 KBytes   706 KBytes/sec
> [  5]   8.00-9.00   sec   672 KBytes   672 KBytes/sec
> [  5]   9.00-10.00  sec   764 KBytes   764 KBytes/sec
> [  5]  10.00-10.04  sec  21.2 KBytes   504 KBytes/sec
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval   Transfer Bandwidth
> [  5]   0.00-10.04  sec  0.00 Bytes  0.00 KBytes/sec
>  sender
> [  5]   0.00-10.04  sec  6.39 MBytes   652 KBytes/sec
>  receiver
> ---
> Server listening on 5201
> ---
>
>
>
>
>
>

Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

2020-07-30 Thread Jerome Tollet via lists.fd.io
Hello Rajith,

  1.  are you making sure your vpp workers are not sharing same cores and are 
isolated?
  2.  host-interfaces are slower than vpp tapv2 interfaces. Maybe you should 
try them.
Jerome



De :  au nom de "Rajith PR via lists.fd.io" 

Répondre à : "raj...@rtbrick.com" 
Date : jeudi 30 juillet 2020 à 08:44
À : vpp-dev 
Objet : Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

Looks like the image is not visible. Resending the topology diagram for 
reference.


[cid:image001.png@01D66676.6DEB4E80]


On Thu, Jul 30, 2020 at 11:44 AM Rajith PR via lists.fd.io<http://lists.fd.io> 
mailto:rtbrick@lists.fd.io>> wrote:
Hello Experts,

I am trying to measure the performance of memif interface and getting a very 
low bandwidth(652Kbytes/sec).  I am new to performance tuning and any help on 
troubleshooting the issue would be very helpful.

The test topology i am using is as below:

[Image supprimée par l'expéditeur.]


Basically, I have two lxc containers each hosting an instance of VPP. The VPP 
instances are connected using memif. On lxc-01 i run the iperf3 client that 
generates TCP traffic and on lxc-02 i run the iperf3 server. Linux veth pairs 
are used for interconnecting the iperf tool with VPP.

Test Environment:

CPU Details:

 *-cpu
  description: CPU
  product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
  vendor: Intel Corp.
  physical id: c
  bus info: cpu@0
  version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
  serial: None
  slot: U3E1
  size: 3100MHz
  capacity: 3100MHz
  width: 64 bits
  clock: 100MHz
  capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce 
cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss 
ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc art arch_perfmon pebs bts 
rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 
monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 
x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 
3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp 
tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 
erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 
xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear 
flush_l1d cpufreq
  configuration: cores=2 enabledcores=2 threads=4

VPP Configuration:

No workers. VPP main thread, iperf client and server are pinned to separate 
cores.

Test Results:

[11:36][ubuntu:~]$ iperf3 -s -B 200.1.1.1 -f K -A 3
---
Server listening on 5201
---
Accepted connection from 100.1.1.1, port 45188
[  5] local 200.1.1.1 port 5201 connected to 100.1.1.1 port 45190
[ ID] Interval   Transfer Bandwidth
[  5]   0.00-1.00   sec   154 KBytes   154 KBytes/sec
[  5]   1.00-2.00   sec   783 KBytes   784 KBytes/sec
[  5]   2.00-3.00   sec   782 KBytes   782 KBytes/sec
[  5]   3.00-4.00   sec   663 KBytes   663 KBytes/sec
[  5]   4.00-5.00   sec   631 KBytes   631 KBytes/sec
[  5]   5.00-6.00   sec   677 KBytes   677 KBytes/sec
[  5]   6.00-7.00   sec   693 KBytes   693 KBytes/sec
[  5]   7.00-8.00   sec   706 KBytes   706 KBytes/sec
[  5]   8.00-9.00   sec   672 KBytes   672 KBytes/sec
[  5]   9.00-10.00  sec   764 KBytes   764 KBytes/sec
[  5]  10.00-10.04  sec  21.2 KBytes   504 KBytes/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bandwidth
[  5]   0.00-10.04  sec  0.00 Bytes  0.00 KBytes/sec  sender
[  5]   0.00-10.04  sec  6.39 MBytes   652 KBytes/sec  receiver
---
Server listening on 5201
---


[11:36][ubuntu:~]$ sudo iperf3 -c 200.1.1.1  -A 2
Connecting to host 200.1.1.1, port 5201
[  4] local 100.1.1.1 port 45190 connected to 200.1.1.1 port 5201
[ ID] Interval   Transfer Bandwidth   Retr  Cwnd
[  4]   0.00-1.00   sec   281 KBytes  2.30 Mbits/sec   44   2.83 KBytes
[  4]   1.00-2.00   sec   807 KBytes  6.62 Mbits/sec  124   5.66 KBytes
[  4]   2.00-3.00   sec   737 KBytes  6.04 Mbits/sec  136   5.66 KBytes
[  4]   3.00-4.00   sec   720 KBytes  5.90 Mbits/sec  130   5.66 KBytes
[  4]   4.00-5.00   sec   574 KBytes  4.70 Mbits/sec  134   5.66 KBytes
[  4]   5.00-6.00   sec   720 KBytes  5.90 Mbits/sec  120   7.07 KBytes
[  4]   6.00-7.00   sec   666 KBytes  5.46 Mbits/sec  134   5.66 KBytes
[  4]   7.00-8.00   sec   741 KBytes  6.07 Mbits/sec  124   5.66 KBytes
[  4]   8.00-9.00   sec   660 KBytes  5.41 Mbits/sec  128   4.24 KBytes
[  4]   9.00-10.00  sec   740 KBytes  6.05 Mbits/sec  130   4.24 KBytes
- - - - - - - - - - - - - -

Re: [vpp-dev]: Trouble shooting low bandwidth of memif interface

2020-07-29 Thread Rajith PR via lists.fd.io
Looks like the image is not visible. Resending the topology diagram for
reference.


[image: iperf_memif.png]


On Thu, Jul 30, 2020 at 11:44 AM Rajith PR via lists.fd.io  wrote:

> Hello Experts,
>
> I am trying to measure the performance of memif interface and getting a
> very low bandwidth(652Kbytes/sec).  I am new to performance tuning and any
> help on troubleshooting the issue would be very helpful.
>
> The test topology i am using is as below:
>
>
>
> Basically, I have two lxc containers each hosting an instance of VPP. The
> VPP instances are connected using memif. On lxc-01 i run the iperf3 client
> that generates TCP traffic and on lxc-02 i run the iperf3 server. Linux
> veth pairs are used for interconnecting the iperf tool with VPP.
>
> *Test Environment:*
>
> *CPU Details:*
>
>  *-cpu
>   description: CPU
>   product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
>   vendor: Intel Corp.
>   physical id: c
>   bus info: cpu@0
>   version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
>   serial: None
>   slot: U3E1
>   size: 3100MHz
>   capacity: 3100MHz
>   width: 64 bits
>   clock: 100MHz
>   capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae
> mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse
> sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc art arch_perfmon
> pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq
> dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1
> sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand
> lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb
> stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2
> smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt
> xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window
> hwp_epp md_clear flush_l1d cpufreq
>   configuration: cores=2 enabledcores=2 threads=4
>
> *VPP Configuration:*
>
> No workers. VPP main thread, iperf client and server are pinned to
> separate cores.
>
> *Test Results:*
>
> [11:36][ubuntu:~]$ iperf3 -s -B 200.1.1.1 -f K -A 3
> ---
> Server listening on 5201
> ---
> Accepted connection from 100.1.1.1, port 45188
> [  5] local 200.1.1.1 port 5201 connected to 100.1.1.1 port 45190
> [ ID] Interval   Transfer Bandwidth
> [  5]   0.00-1.00   sec   154 KBytes   154 KBytes/sec
> [  5]   1.00-2.00   sec   783 KBytes   784 KBytes/sec
> [  5]   2.00-3.00   sec   782 KBytes   782 KBytes/sec
> [  5]   3.00-4.00   sec   663 KBytes   663 KBytes/sec
> [  5]   4.00-5.00   sec   631 KBytes   631 KBytes/sec
> [  5]   5.00-6.00   sec   677 KBytes   677 KBytes/sec
> [  5]   6.00-7.00   sec   693 KBytes   693 KBytes/sec
> [  5]   7.00-8.00   sec   706 KBytes   706 KBytes/sec
> [  5]   8.00-9.00   sec   672 KBytes   672 KBytes/sec
> [  5]   9.00-10.00  sec   764 KBytes   764 KBytes/sec
> [  5]  10.00-10.04  sec  21.2 KBytes   504 KBytes/sec
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval   Transfer Bandwidth
> [  5]   0.00-10.04  sec  0.00 Bytes  0.00 KBytes/sec
>  sender
> [  5]   0.00-10.04  sec  6.39 MBytes   652 KBytes/sec
>  receiver
> ---
> Server listening on 5201
> ---
>
>
> [11:36][ubuntu:~]$ sudo iperf3 -c 200.1.1.1  -A 2
> Connecting to host 200.1.1.1, port 5201
> [  4] local 100.1.1.1 port 45190 connected to 200.1.1.1 port 5201
> [ ID] Interval   Transfer Bandwidth   Retr  Cwnd
> [  4]   0.00-1.00   sec   281 KBytes  2.30 Mbits/sec   44   2.83 KBytes
>
> [  4]   1.00-2.00   sec   807 KBytes  6.62 Mbits/sec  124   5.66 KBytes
>
> [  4]   2.00-3.00   sec   737 KBytes  6.04 Mbits/sec  136   5.66 KBytes
>
> [  4]   3.00-4.00   sec   720 KBytes  5.90 Mbits/sec  130   5.66 KBytes
>
> [  4]   4.00-5.00   sec   574 KBytes  4.70 Mbits/sec  134   5.66 KBytes
>
> [  4]   5.00-6.00   sec   720 KBytes  5.90 Mbits/sec  120   7.07 KBytes
>
> [  4]   6.00-7.00   sec   666 KBytes  5.46 Mbits/sec  134   5.66 KBytes
>
> [  4]   7.00-8.00   sec   741 KBytes  6.07 Mbits/sec  124   5.66 KBytes
>
> [  4]   8.00-9.00   sec   660 KBytes  5.41 Mbits/sec  128   4.24 KBytes
>
> [  4]   9.00-10.00  sec   740 KBytes  6.05 Mbits/sec  130   4.24 KBytes
>
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval   Transfer Bandwidth   Retr
> [  4]   0.00-10.00  sec  6.49 MBytes  5.44 Mbits/sec  1204
> sender
> [  4]   0.00-10.00  sec  6.39 MBytes  5.36 Mbits/sec
>  receiver
>
> iperf Done.
>
> Thanks,
> Rajith
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#17116): https://lists.fd.io/g/vpp-