A vector size less than 2 indicates a ton of headroom. You shouldn’t drop 
packets - except due to I/O bottlenecks - at a vector size significantly less 
than 150.

Rough, off-the cuff guesses [for production images, on “reasonable” hardware]: 
vector size < 2 should be good for O(100kpps). Vector size 150 should be good 
for O(5mpps).

Thanks… Dave

P.S. The clocks/pkt figures below look like they may be from a TAG=vpp_debug 
image... Or not. It’s hard to tell at 20 KPPS...

From: SAKTHIVEL ANAND S [mailto:[email protected]]
Sent: Tuesday, July 25, 2017 9:20 AM
To: Dave Barach (dbarach) <[email protected]>
Cc: chenxndsc <[email protected]>; vpp-dev <[email protected]>
Subject: Re: [vpp-dev] 回复: vpp cpu usage utility

Thanks Dave..
I am on vpp16.06 and after adding my nodes I get the following in “vppctl show 
r”.
One thing I observe (as expected) is when I push more traffic to see higher 
"Vectors/Call" the Clocks value of nodes reduces.
Now question is neither clocks or Vectors/Call indicate that still some 
processing power is left.

By the way, what is prevailing vector size and per-node vector size in the 
below output?
< last 128 main loops 0.00 per node 0.00> What are these values and why these 
are zeros?

Thanks in advance.

root@ubuntu:~# vppctl show run
Time 1678.2, average vectors/node 1.45, last 128 main loops 0.00 per node 0.00
  vector rates in 1.9800e4, out 1.9337e4, drop 4.6368e2, punt 6.9123e-2
             Name                          State              Calls          
Vectors     Suspends Clocks       Vectors/Call
GigabitEthernet13/0/0-output     active                117             117      
         0          2.71e3            1.00
GigabitEthernet13/0/0-tx           active                117             117    
           0          1.94e4            1.00
GigabitEthernet1b/0/0-output     active           22450924        32449638      
 0          1.26e3            1.45
GigabitEthernet1b/0/0-tx           active           22450924        32449638    
   0          3.64e3            1.45
arp-input                                  active              21064           
22591           0          2.61e4            1.07
dpdk-input                              polling          388349175        
33227874      0          2.54e4             .09
dpdk-process                        any wait                 0               0  
            560          2.09e5            0.00
error-drop                               active             709544          
778129           0          2.25e3            1.09
error-punt                               active                116             
116                0          1.16e4            1.00
ethernet-input                         active              27238           
28772            0          5.35e3            1.06
interface-output                      active                 88              88 
                0          4.86e3            1.00
ip4-arp                                   active                 15             
 16                0          3.63e4            1.07
ip4-classify                            active               1600            
1603              0          1.04e4            1.00
ip4-input-no-checksum            active            22854016        33199102     
  0          1.79e3            1.45
ip4-local                                active            22841621        
33173678       0          1.29e3            1.45
ip4-lookup                             active            45295061        
65626189       0          1.51e3            1.45
ip4-lookup-multicast              active               10723           22451    
         0          1.95e3            2.09
ip4-miss                              active              12074           23802 
              0          1.37e3            1.97
ip4-rewrite-transit                  active             22450827        
32449541        0          1.47e3            1.45
ip4-udp-lookup                      active            22841621        33173678  
       0          1.29e3            1.45
llc-input                               active                3393            
3394                0          4.01e3            1.00
mynode_lookup                    active            22841621        33173678     
    0          1.89e3            1.45
mynode_input                      active             22841621        33173678   
     0          1.49e3            1.45
unix-epoll-input                    polling            365372525               
0             0          3.36e3            0.00

--------------------------
-Sakthivel S OM

On Mon, Jul 17, 2017 at 11:25 PM, Dave Barach (dbarach) 
<[email protected]<mailto:[email protected]>> wrote:
The “show runtime” command displays the prevailing vector size, and per-node 
vector sizes.

Those stats are reasonably equivalent to a vector engine load average.

Thanks… Dave

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>] On 
Behalf Of SAKTHIVEL ANAND S
Sent: Monday, July 17, 2017 12:57 PM
To: chenxndsc <[email protected]<mailto:[email protected]>>; vpp-dev 
<[email protected]<mailto:[email protected]>>
Subject: Re: [vpp-dev] 回复: vpp cpu usage utility

Thanks chenxndsc for the response.

Yes, the polling shall take the 100% CPU. My question is related to know how 
much more load a core can take more.
For e.g. Lets say along with normal dpdk polling, if a core processeses few 
sessions, how much CPU it takes in processing sessions  apart from polling. 
This is required to know how many sessions a can handle and hence how many 
cores are needed to handle desired number of sessions?

-Sakthivel Ss

On 17-Jul-2017 21:08, "chenxndsc" <[email protected]<mailto:[email protected]>> 
wrote:
hello ANAND
100% is the real cpu utilization, because VPP use POLL mode, if you know how 
DPDK works, you gotta to know it better.

来自我的华为手机


-------- 原始邮件 --------
主题:[vpp-dev] vpp cpu usage utility
发件人:SAKTHIVEL ANAND S
收件人:vpp-dev
抄送:

Hi
I am working on an use case where i just want to measure CPU usage of vpp task.
Linux "TOP" command shows 100% cpu always (even though there is no active 
processing in it,since it is running on closed/tight loop).

Is there any way to measure "real/actual" cpu usage of VPP task?
My setup: Ubuntu 16.04 with VPP16.06

--
Thanks in advance
Sakthivel S OM



--
Thanks
Sakthivel S OM
_______________________________________________
vpp-dev mailing list
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to