pfSenseLab

pfSense Hardware Sizing Calculator

Enter your WAN speed, feature load, users and NIC needs to get a recommended CPU class, RAM, NIC guidance, hardware tier and bottleneck.

The feature that caps your throughput is almost never "the firewall". It is Suricata IPS or OpenVPN — both CPU-bound, both far heavier than routing. This sizes the box around the specific features you'll run and names the bottleneck. Every number is computed in your browser; nothing is sent anywhere.

Your requirements

Feature load
Suricata IDS/IPS
NIC needs

Sizing report card

CPU class
RAM
Storage
Bottleneck

Recommended hardware tier

  • Netgate 2100 (ARM) 299 USD
    CPU index 90 | WAN class 940 Mbps | 4 GB RAM | intel-class (onboard)

    Good for: Plain firewall + light pfBlockerNG on a 1 GbE line. Official pfSense Plus support.

    Not for: Suricata IPS at line rate, multi-gig WAN, OpenVPN above ~150 Mbps.

  • Protectli FW4C (J3160/J3710) 350 USD
    CPU index 130 | WAN class 940 Mbps | 8 GB RAM | Intel i225/i210

    Good for: 1 GbE firewall + pfBlockerNG + WireGuard/IPsec; light Suricata IDS.

    Not for: Gigabit Suricata IPS, OpenVPN near a gig, sustained 2.5G+.

  • Netgate 4200 (Atom C-series, 4C) 599 USD
    CPU index 230 | WAN class 2500 Mbps | 8 GB RAM | Intel 2.5G

    Good for: Multi-gig WAN plain/firewall, Suricata IDS around 1 GbE, IPsec/WireGuard several hundred Mbps.

    Not for: Gigabit-plus Suricata IPS, 10G line-rate, heavy OpenVPN.

  • Protectli VP46xx (i3/i5, 4C) 700 USD
    CPU index 420 | WAN class 5000 Mbps | 16 GB RAM | Intel i226 2.5G

    Good for: Suricata IPS approaching 1 GbE, multi-gig WAN, WireGuard 1 Gbps+, busy pfBlockerNG.

    Not for: 10G line-rate IPS, very large IDS rulesets at 2.5G+.

  • Used SFF / Xeon-D / Ryzen (8C+, SFP+) 600 USD
    CPU index 800 | WAN class 10000 Mbps | 32 GB RAM | Intel X5xx SFP+ (add-in)

    Good for: 10G WAN, Suricata IPS at multi-gig, all VPN types fast, large rulesets. Best $/perf if you can DIY.

    Not for: Low-power/silent/turnkey-support requirements (higher idle watts, no vendor support).

Methodology & honest caveats

Each feature is assigned a throughput-per-CPU coefficient (Mbps sustained per unit of a single-thread-weighted CPU index). The required CPU index for a feature is target_Mbps ÷ coefficient; the box must clear the maximum required index across every feature you enable. That maximum is the bottleneck — and it is almost always Suricata IPS (coefficient ≈ 1.6) or OpenVPN (≈ 1.4), not plain firewalling (≈ 12). OpenVPN also has a hard ~500 Mbps single-tunnel ceiling regardless of CPU, because it is single-process.

RAM = base (1 GB OS, 2 GB floor) + Suricata ruleset (≈ 1 GB + per monitored interface) + pfBlockerNG feeds + state-table memory from your user count. NIC guidance flags onboard Realtek near or above its ~900 Mbps practical ceiling, or whenever IPS is on — BSD Realtek drivers struggle under high packet rates. Storage grows with Suricata and pfBlockerNG logs; SSD/NVMe is required once IDS is on.

Coefficients and hardware tiers live in src/data/pfsense-hw-model.json (model v1.0.0). These are rounded planning figures across Netgate/Protectli-class hardware, not a benchmark of your exact silicon — real numbers depend on packet size, ruleset, tunables and driver. Treat the recommended tier as a floor; size up near any boundary or if you expect growth.

Related tools in this network

Other interactive tools across the network that pair well with this one.