You should not use iperf for pps because you’re going to incur the overhead of 
running a guest user space app over socket + guest kernel tcp-ip stack + virtio 
over vhost user (times 2 since both your end points run iperf).
You might get decent throughput with large write buffer size (e.g. 64k writes) 
as those do not require as many pps.
For pps in VM it is better to use pktgen or any equivalent traffic generator 
based on DPDK.

  Alec


From: <vpp-dev@lists.fd.io> on behalf of Sara Gittlin <sara.gitt...@gmail.com>
Date: Thursday, March 22, 2018 at 8:12 AM
To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
Cc: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
Subject: Re: [vpp-dev] Very poor performance vm to vm via VPP vhostuser

Hi John and Steven

setting this in the startup config didnt help
vhost-user {
  coalesce-frame 0
}
John

I'm using ping -f  for latency and iperf3 for pps testing.
later i'll run pktgen in the vm's

output :
sho int
              Name               Idx       State          Counter          Count
VirtualEthernet0/0/0              1         up       rx packets                 
11748
                                                     rx bytes                  
868648
                                                     tx packets                 
40958
                                                     tx bytes                
58047352
                                                     drops                      
   29
VirtualEthernet0/0/1              2         up       rx packets                 
40958
                                                     rx bytes                
58047352
                                                     tx packets                 
11719
                                                     tx bytes                  
862806
                                                     tx-error                   
   29
local0                            0         up


 show hardware
              Name                Idx   Link  Hardware
VirtualEthernet0/0/0               1     up   VirtualEthernet0/0/0
  Ethernet address 02:fe:25:2f:bd:c2
VirtualEthernet0/0/1               2     up   VirtualEthernet0/0/1
  Ethernet address 02:fe:40:16:70:1b
local0                             0    down  local0
  local

-Sara


On Thu, Mar 22, 2018 at 4:53 PM, John DeNisco 
<jdeni...@cisco.com<mailto:jdeni...@cisco.com>> wrote:

Hi Sara,

Can you also send the results from show hardware and show interfaces?

What are you using to test your performance.

John


From: <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> on behalf of Sara 
Gittlin <sara.gitt...@gmail.com<mailto:sara.gitt...@gmail.com>>
Date: Thursday, March 22, 2018 at 9:27 AM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
<vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>>
Subject: Re: [vpp-dev] Very poor performance vm to vm via VPP vhostuser

this is the output of:

show vhost-user VirtualEthernet0/0/0
Virtio vhost-user interfaces
Global:
  coalesce frames 32 time 1e-3
  number of rx virtqueues in interrupt mode: 0
Interface: VirtualEthernet0/0/0 (ifindex 1)
virtio_net_hdr_sz 12
 features mask (0xffffffffffffffff):
 features (0x58208000):
   VIRTIO_NET_F_MRG_RXBUF (15)
   VIRTIO_NET_F_GUEST_ANNOUNCE (21)
   VIRTIO_F_ANY_LAYOUT (27)
   VIRTIO_F_INDIRECT_DESC (28)
   VHOST_USER_F_PROTOCOL_FEATURES (30)
  protocol features (0x3)
   VHOST_USER_PROTOCOL_F_MQ (0)
   VHOST_USER_PROTOCOL_F_LOG_SHMFD (1)

 socket filename /var/run/vpp/sock1.sock type server errno "Success"

 rx placement:
   thread 1 on vring 1, polling
 tx placement: spin-lock
   thread 0 on vring 0
   thread 1 on vring 0
   thread 2 on vring 0

 Memory regions (total 2)
 region fd    guest_phys_addr    memory_size        userspace_addr     
mmap_offset        mmap_addr
 ====== ===== ================== ================== ================== 
================== ==================
  0     32    0x0000000000000000 0x00000000000c0000 0x00007f5a6a600000 
0x0000000000000000 0x00007f47c4200000
  1     33    0x0000000000100000 0x000000003ff00000 0x00007f5a6a700000 
0x0000000000100000 0x00007f46f4100000

 Virtqueue 0 (TX)
  qsz 256 last_avail_idx 63392 last_used_idx 63392
  avail.flags 0 avail.idx 63530 used.flags 1 used.idx 63392
  kickfd 34 callfd 35 errfd -1

 Virtqueue 1 (RX)
  qsz 256 last_avail_idx 32414 last_used_idx 32414
  avail.flags 1 avail.idx 32414 used.flags 1 used.idx 32414
  kickfd 30 callfd 36 errfd -1

On Thu, Mar 22, 2018 at 3:07 PM, Sara Gittlin 
<sara.gitt...@gmail.com<mailto:sara.gitt...@gmail.com>> wrote:
i dont think these are error counters - anyway very poor pps

On Thu, Mar 22, 2018 at 2:55 PM, Sara Gittlin 
<sara.gitt...@gmail.com<mailto:sara.gitt...@gmail.com>> wrote:
in the show err output i see that  l2-output  l2-learn l2-input counters are 
continuously  incremented :
show  err
   Count                    Node                  Reason
        11                l2-output               L2 output packets
        11                l2-learn                L2 learn packets
        11                l2-input                L2 input packets
         3                l2-flood                L2 flood packets
   8479644                l2-output               L2 output packets
   8479644                l2-learn                L2 learn packets
   8479644                l2-input                L2 input packets

On Thu, Mar 22, 2018 at 11:59 AM, Sara Gittlin 
<sara.gitt...@gmail.com<mailto:sara.gitt...@gmail.com>> wrote:
Hello
i setup 2 vm connected to VPP as per the guide :
https://wiki.fd.io/view/VPP/Use_VPP_to_connect_VMs_Using_Vhost-User_Interface

The performance looks very bad very low pps and large latencies

udp pkt size 100B - throughput 500Mb
average latency  is 900us

i have  2 PMDs threads (200% cpu) in the host, in the VMs i see low
cpu load (10%)

Please can you tell me what is wrong with my setup ?

Thank you in advance
- Sara






Reply via email to