Skip to content

VNFs and cloud services: throughput per vCPU on your host profile

We test vRouters, vFirewalls, vLBs, UPF and other VNFs on KVM and VMware, CNFs on Kubernetes, cloud network services and web portals with the infrastructure in front of them. The bench gives the function a host with the vCPU, memory and NIC profile you specify, loads it from L4-7 engines at 200G+ and L2-3 ports at 100G, and shows what one instance does with virtio and with SR-IOV, how four instances scale, and what a migration or a restart costs in packets. Cloud services are measured over real cloud connections.

Scale-out on one host Throughput by instance count, SR-IOV, same host. Measured against the straight line from one instance.
01224 GBIT/S 6 11.5 12 17 24 124 INSTANCES ON THE HOST Measured Linear from one instance
  • 200G+L4-7 engines, TLS and application mixes
  • 100GL2-3 ports, DPDK and SR-IOV paths
  • vCPU · RAM · NIChost profile set by you
  • 1–3 daystest plan and quote

When the number is needed

Three moments when a datasheet gigabit stops being a gigabit

A VNF datasheet quotes throughput on a tuned host with a datapath you may not run. Each moment below asks what the function does on your hosts, with your profile and your neighbours, and ends with a number you can size, accept or sign against.

  1. 1

    Sizing

    Before the order

    How many vCPUs and which NIC path a gigabit of your traffic costs. One image, three host profiles, virtio and SR-IOV, your application mix. The result is a table the cloud and the network team size the cluster from.

    Gbit/s and pps per vCPU per datapath, 1–2 weeks

  2. 2

    Acceptance

    Before go-live

    The delivered image with the production config on the lab hypervisor, your Kubernetes release or your tenant: throughput, latency and session limits, then migration, restart and a noisy neighbour with traffic running. Measured against your design.

    Signed report with pass and fail per case, from 2 weeks

  3. 3

    Change

    New image, host or cluster release

    The acceptance cases run again on the new VNF version, the new hypervisor build, the new CNI or the new node pool. What moved, by how much, and whether the design still holds.

    Diff per KPI against the last run, 3 business days

What we test

Five classes, and the numbers each one has to show

The bench is the same, the traffic and the pass criteria are not. The table is the starting point of the plan; your host profile and your design set the thresholds.

ClassNumbers in the reportTraffic and config on the benchTypical size
01VNF on KVM or VMware Throughput and latency per vCPU, pps at 64 B, virtio against SR-IOV and DPDK, noisy neighbour impact Image on the lab hypervisor with your vCPU, NUMA and NIC profile, L2-3 or L4-7 traffic, a loading VM 2–32 vCPU, 1–40 Gbit/s per instance
02CNF on Kubernetes Throughput per pod and node, CNI latency, scale-out to N replicas, loss window on drain Your Helm chart on our cluster or yours, Multus and SR-IOV as configured, L4-7 traffic via ingress 1–16 replicas, 3–6 nodes
03Cloud network service Throughput via peering, transit gateways and load balancers, cloud firewall limits, cost per Gbps Load from the bench over a real cloud connection into your tenant, one profile run in two regions 1–10 Gbit/s per path
04Cloud VPN or SD-WAN gateway IPsec throughput per instance size, setup rate, gateway failover time on a lossy link Gateway in your tenant or on the lab hypervisor, WAN emulator with the delay and loss you set 10–500 tunnels, 1–10 Gbit/s
05Web portal and the infrastructure in front of it Requests per second to the first error, response time percentiles, the layer that saturates User journeys replayed at scale by the L4-7 engines, TLS as in production, counters per layer 1,000–200,000 concurrent users

Any vendor and any platform: KVM, VMware, OpenStack, Kubernetes and the public clouds. Named test tools are picked for the setup and listed in the report.

The bench around one virtual function
L4-7 engines users, TLS, app mix, 200G+ Generator ports RFC 2544 frames, 100G Function under test your image, your host profile Noisy neighbour virtio SR-IOV vCPU · RAM · NUMA · NIC Emulated servers or your cloud tenant Host counters vCPU, NIC drops, memory MIGRATION OR RESTART ON PURPOSE throughput · latency pps · loss window

Around the function

What sits on each side of the VNF while it is measured

A throughput figure for a virtual function only means something with the host named next to it: the cores and the NUMA node it got, the datapath to the NIC, and who else was on the host at the time

  1. The host profile, yours

    vCPU count and pinning, memory and huge pages, NUMA placement, NIC model and queue count come from your platform standard. The bench builds that host, so the function sees what it will see in production.

  2. Both datapaths on the same host

    virtio or OVS on one run, SR-IOV or DPDK on the next, same image and same traffic. The report shows the gap in gigabits and in vCPUs, so the platform choice has a price.

  3. Faults with traffic running

    A second workload on the same cores, a live migration, a restart, a pod reschedule, a node drain. Each one timed from the last packet to the first packet back, with the application mix still running.

Typical scenario

A vFirewall rated at 20 Gbit/s, 6 Gbit/s on the delivered host, 17 after one datapath change

An operator moves the branch firewall to a VNF. The datasheet says 20 Gbit/s; the platform team built the host with virtio and the bench measured 6 Gbit/s on the application mix, with two vCPUs at 100 %. The same image on the same host with SR-IOV gave 17 Gbit/s and a 1.4 s loss window on live migration. The report shows both runs with the host settings, and the cluster was sized from the second one.

6 → 17 Gbit/s
same image, same host, virtio against SR-IOV
1.4 s
loss window on live migration with traffic
11 days
from the first packet to the signed report

Composite scenario from projects of this type. Numbers are realistic and not from one client.

Throughput on the application mix, Gbit/s
Datasheet virtio SR-IOV 20 6 17 Design 15 06121824 below the design clears the design vendor figure

What you take away

Four numbers that size the cluster, and the table they live in

The report is built for the meeting after the test: the vendor, the platform team and the network team read the same table, with the pass band from the design next to the measured value and the host profile of the run in the header

Each number comes with its evidence: engine statistics, vCPU, NIC and memory counters from the host, captures and the config export of the run

Per vCPU
Gigabits and packets per second per vCPU, per datapath, on your profile. The figure the cluster is sized from, not the datasheet maximum.
Ceiling
Where the function stops or slows: pps at 64 bytes, sessions, tunnels, replicas, and which resource ran out first, cores, NIC queues or memory
Scale-out
Throughput from one to N instances on one host and across hosts, so the design has a real factor with a margin, not a linear guess
Survival
Loss window in milliseconds per event, migration, restart, reschedule, node drain, noisy neighbour, with the application mix running, not on an idle function
ACC-VFW-02 Acceptance, branch vFirewall Rerun, SR-IOV

Result table, 6 of 14 cases

KPIPass bandMeasuredResult
Throughput on the app mix, one instance, 8 vCPU≥ 15 Gbit/s17 Gbit/sPass
Latency p99 at 10 Gbit/s≤ 200 µs140 µsPass
64-byte frames per vCPU≥ 1.5 Mpps1.8 MppsPass
Scale-out, 1 to 4 instances on one host≥ 2.5×2.8×Pass
Live migration, loss window≤ 2 s1.4 sPass
Noisy neighbour, throughput drop≤ 10%18%Pass with a note

Where it runs

The CloudLAB hypervisor and the pages behind this one

Images and charts come to the lab hypervisor with the host profile you specify, or the bench connects to your tenant or your cluster over a dedicated link; cloud services are loaded over real cloud connections. You watch the run through the portal, with an engineer on every session. The pages below cover the load method, the firewall class and the hosted device option.

Before the brief

What platform teams ask first

Which platforms and functions can you test?

VNFs on KVM, VMware and OpenStack, CNFs on any Kubernetes distribution, services in the public clouds, and web portals with the infrastructure in front of them. vRouters, vFirewalls, load balancers, VPN and SD-WAN gateways, UPF and other mobile-core functions, any vendor. The image, the chart or the tenant access comes from you; the host and the traffic come from the bench.

Do you test on our host profile or on yours?

On yours. vCPU count and pinning, memory, huge pages, NUMA placement, NIC model and the datapath come from your platform standard, and the bench builds that host. A vendor-recommended profile can run next to it, so the gap between the two is a number in the report.

Can you measure a service that only exists in our cloud tenant?

Yes. The bench loads the service over a real cloud connection into your tenant, with emulated servers behind it or your own. Cloud peering, load balancers, cloud firewalls and VPN gateways are measured this way, with the cloud bill of the run next to the throughput.

What about noisy neighbours and migrations?

They are cases in the plan. A second workload loads the same cores on purpose, a live migration, a restart, a pod reschedule or a node drain is triggered with the application mix running, and the report shows the throughput drop and the loss window for each event.

How much load can the bench put on a function?

L4-7 engines at 200G and above with TLS and application mixes, L2-3 frames at 100G. A single VNF instance is the limit, not the bench; a cluster of instances is loaded across several ports and the report shows the aggregate and the per-instance figures.

How long does it take and what do we get?

Test plan and quote in 1–3 business days after the brief. A sizing run takes 1–2 weeks, an acceptance run from 2 weeks, a change run 3 business days against the last report. You get the result table with pass and fail per case, the host profile of every run, counters, captures and config exports.

Send the image, the host profile and the traffic mix. The plan comes back in 1–3 business days.

No prices on the site: scope first, then the quote. The vendor and the platform team can sit in on the brief.

Send the shortlist

You have the method. Now get the numbers.

Name the models and the KPIs that matter. An engineer replies within one business day with a test plan draft and a quote.

Prefer to chat? Message an engineer on WhatsApp

We use what you send only to answer you. See our Privacy Policy.