Well, I’ll check it further to see how to make use of the new infra. From: Ole Troan <[email protected]> Sent: Wednesday, June 27, 2018 5:15 PM To: Kingwel Xie <[email protected]> Cc: [email protected] Subject: Re: [vpp-dev] Packet rate & throughput satistics for SW interfaces & Error Counters
Hi Kingwei, Did you see the new stats infrastructure where counters where exported to a shared memory segment? Based on that you could write an external agent, that looked for example like top that would scrape the interface counters and display pps in real time. I think that would be a cleaner approach than adding it to the debug cli. Cheers Ole On 27 Jun 2018, at 11:09, Kingwel Xie <[email protected]<mailto:[email protected]>> wrote: Hi all, I’m proposing some improvements to CLI commands ‘show interface’ and ‘show error’. As you might have known, these two commands show the cumulative counters of interfaces and errors. Unfortunately there are no rate statistics for these counters, which makes it hard to know how fast vPP workers are working on packets forwarding or internal error processing. Probably you have to calculate the rates by running some scripts on vPP CLI or via API. This is quite inefficient, particularly when you are working on performance tuning. We added rate statistics for these two CLI commands, but with some hardcoding embedded. In others words, the code is not perfect but effective. Do you think it is worth merging it to the master track? Regards, Kingwel See screenshots of these improved commands: The data show DPDK IPsec encryption. We enabled two pg streams which generate plain IP/UDP flows. Note at the last column, you can see the packet rate of the two IPsec interfaces are 2.7Mpps/2.14Gbps and 1.8M/7.3G respectively. All the traffics are eventually forwarded to VF ethernet interfaces as tx packerts @4.4Mbps/12Gbps in total. vpp# show int Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count Rate VirtualFunctionEthernet81/11/7.1 1 up 0/0/0/0 rx packets 1811 0.000 pps rx bytes 85490 0.000 bps tx packets 553780750 4.463M pps tx bytes 187452927008 12.082G bps drops 1792 0.000 punts 14 0.000 ip4 14 0.000 VirtualFunctionEthernet81/11/7.1 2 up 0/0/0/0 drops 1 0.000 VirtualFunctionEthernet81/11/7 9999 up 1500/0/0/0 rx packets 1811 0.000 pps rx bytes 85490 0.000 bps tx packets 553780750 4.463M pps tx bytes 187452927008 12.082G bps drops 1793 0.000 punts 14 0.000 tx-error 1 0.000 ipsec0 3 up 0/0/0/0 tx packets 332680709 2.682M pps tx bytes 33268070900 2.146G bps ipsec9999 4 up 0/0/0/0 tx packets 221122821 1.781M pps tx bytes 113214884352 7.295G bps local0 0 down 0/0/0/0 rx packets 553804032 4.463M pps rx bytes 146483108864 9.440G bps drops 29949 0.000 ip4 553803530 4.463M pg0 5 up 9000/0/0/0 vpp# show int verbose Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count Rate VirtualFunctionEthernet81/11/7.1 1 up 0/0/0/0 rx packets 1811 0.000 pps rx bytes 85490 0.000 bps tx packets 563321358 4.446M pps Thread 1 kw_wk_0 : 2.669M Thread 2 kw_wk_1 : 1.778M tx bytes 190684525600 12.048G bps Thread 1 kw_wk_0 : 3.715G Thread 2 kw_wk_1 : 8.333G drops 1792 0.000 punts 14 0.000 ip4 14 0.000 VirtualFunctionEthernet81/11/7.1 2 up 0/0/0/0 drops 1 0.000 VirtualFunctionEthernet81/11/7 9999 up 1500/0/0/0 rx packets 1811 0.000 pps rx bytes 85490 0.000 bps tx packets 563321358 4.446M pps Thread 1 kw_wk_0 : 2.669M Thread 2 kw_wk_1 : 1.778M tx bytes 190684525600 12.048G bps Thread 1 kw_wk_0 : 3.715G Thread 2 kw_wk_1 : 8.333G drops 1793 0.000 punts 14 0.000 tx-error 1 0.000 ipsec0 3 up 0/0/0/0 tx packets 338406917 2.669M pps Thread 1 kw_wk_0 : 2.669M tx bytes 33840691700 2.135G bps Thread 1 kw_wk_0 : 2.135G ipsec9999 4 up 0/0/0/0 tx packets 224937221 1.778M pps Thread 2 kw_wk_1 : 1.778M tx bytes 115167857152 7.281G bps Thread 2 kw_wk_1 : 7.281G local0 0 down 0/0/0/0 rx packets 563344640 4.446M pps Thread 1 kw_wk_0 : 2.669M Thread 2 kw_wk_1 : 1.778M rx bytes 149008702464 9.416G bps Thread 1 kw_wk_0 : 2.135G Thread 2 kw_wk_1 : 7.281G drops 29949 0.000 ip4 563344138 4.446M Thread 1 kw_wk_0 : 2.669M Thread 2 kw_wk_1 : 1.778M pg0 5 up 9000/0/0/0 Similarly we made improvement to ‘show error’, then you can easily understand how fast packets are processed by the nodes: vpp# show err Count Rate Node Reason 1 0.000 VirtualFunctionEthernet81/11/7-output interface is down 2714 345242623 2.559M dpdk-crypto-input Crypto ops dequeued 409 345242885 2.559M dpdk-esp-encrypt ESP pkts received 421 345242885 2.559M ipsec-if-output good packets transmitted 2136 10236 0.000 ip4-glean address overflow drops 2457 4099 0.000 ip4-glean ARP requests sent 2458 14 0.000 ip4-icmp-input unknown type 2531 5 0.000 arp-input ARP replies sent 2678 1792 0.000 arp-input ARP request IP4 source addre 2685 229474815 1.698M dpdk-crypto-input Crypto ops dequeued 409 229475077 1.698M dpdk-esp-encrypt ESP pkts received 421 229475077 1.698M ipsec-if-output good packets transmitted 2136 12024 0.000 ip4-glean address overflow drops 2457 3590 0.000 ip4-glean ARP requests sent 2458 vpp# show err verbose Count Rate Node Reason Index Thread 0 (kw_main): 1 0.000 VirtualFunctionEthernet81/11/7-output interface is down 2714 Thread 1 (kw_wk_0): 356679934 2.537M dpdk-crypto-input Crypto ops dequeued 409 356680197 2.537M dpdk-esp-encrypt ESP pkts received 421 356680197 2.537M ipsec-if-output good packets transmitted 2136 10236 0.000 ip4-glean address overflow drops 2457 4099 0.000 ip4-glean ARP requests sent 2458 14 0.000 ip4-icmp-input unknown type 2531 5 0.000 arp-input ARP replies sent 2678 1792 0.000 arp-input ARP request IP4 source addre 2685 Thread 2 (kw_wk_1): 237078270 1.687M dpdk-crypto-input Crypto ops dequeued 409 237078533 1.687M dpdk-esp-encrypt ESP pkts received 421 237078533 1.687M ipsec-if-output good packets transmitted 2136 12024 0.000 ip4-glean address overflow drops 2457 3590 0.000 ip4-glean ARP requests sent 2458 Total: 593758204 4.224M dpdk-crypto-input Crypto ops dequeued 409 593758730 4.224M dpdk-esp-encrypt ESP pkts received 421 593758730 4.224M ipsec-if-output good packets transmitted 2136 22260 0.000 ip4-glean address overflow drops 2457 7689 0.000 ip4-glean ARP requests sent 2458 14 0.000 ip4-icmp-input unknown type 2531 5 0.000 arp-input ARP replies sent 2678 1792 0.000 arp-input ARP request IP4 source addre 2685 1 0.000 VirtualFunctionEthernet81/11/7-output interface is down 2714 vpp# vpp# vpp# In the end, here is how we generate packets for performance testing: vpp# show packet-generator Name Enabled Count Parameters ipsec0 Yes 1111168261 limit 0, rate 4.00e6 pps, size 100-100, buffer-size 2048, worker 0, ipsec1 Yes 737032453 limit 0, rate 4.00e6 pps, size 512-512, buffer-size 2048, worker 1, -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9712): https://lists.fd.io/g/vpp-dev/message/9712 Mute This Topic: https://lists.fd.io/mt/22721546/675193 Group Owner: [email protected]<mailto:[email protected]> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]<mailto:[email protected]>] -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9714): https://lists.fd.io/g/vpp-dev/message/9714 Mute This Topic: https://lists.fd.io/mt/22721546/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
