Firewall Sizing (PPS)
Enter the target throughput and packet size (or IMIX) and I compute the packets per second the firewall must handle, plus the memory for concurrent sessions and the new-connection rate.
Diagnosis
—
PPS by packet size
| Frame size | pps | Mpps |
|---|
How it is computed · pps, IMIX and memory
1. Packets per second:
pps = throughput(bps) ÷ (packet_size_B × 8). A smaller
packet ⇒ more packets for the same bandwidth.
2. The worst case is the minimum
Ethernet frame (64 B): it demands the most pps. That is why
vendors publish pps at 64 B.
3. IMIX simulates real traffic by
mixing sizes: 7×64 + 4×570 + 1×1518 ⇒ average
353.83 B. It is a more representative load than 64 B alone.
4. Session-table memory:
sessions × bytes_per_session. The new-connection rate
(cps) is a separate limit: it measures how fast sessions are
created, not the data volume.
Runs locally in your browser · no sign-up · nothing leaves your browser
How it works
The calculator converts a target throughput (kbps, Mbps or Gbps) into the packets per second a firewall or router must process, based on the chosen packet size: fixed values from 64 to 1518 bytes, a custom size, or the simple IMIX mix (7×64 + 4×570 + 1×1518 bytes, 353.83 B average). It also sizes the session-table memory and records the new-connections rate (cps) as an independent design limit.
The core formula is pps = throughput(bps) ÷ (packet_size × 8): for the same bandwidth, smaller packets demand more pps. That is why the worst case is the minimum Ethernet frame (64 B, IEEE 802.3), the value vendors use to publish maximum performance. State memory is estimated as sessions × bytes_per_session (typically ≈ 300 B per connection-table entry).
Example: 10 Gbps edge firewall with IMIX traffic
- With IMIX the average packet is
353.83 B:pps = 10,000,000,000 ÷ (353.83 × 8) ≈ 3.53 Mpps. - The 64 B worst case rises to
10,000,000,000 ÷ 512 = 19.53 Mpps: that is the figure to compare against the vendor datasheet. - With 1,000,000 concurrent sessions at 300 B each, the state table takes 300 MB of memory.