This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

IPS Performance tests / hardware benchmarks (unofficial)

There have been a lot of questions here lately about hardware recommendations for high-speed internet connections. In my experience, the IPS (Snort) tends to quickly become a bottleneck on low-end to moderate hardware with 50mbps+ connections (or DMZ links).

Therefore, I'm creating this thread...

Note these are USER benchmarks, and are not conducted, validated, or endorsed by Sophos.

For general hardware compatibility information, please read 
https://community.sophos.com/products/unified-threat-management/astaroorg/f/52/t/27167

If you have a question, post at https://community.sophos.com/products/unified-threat-management/astaroorg/f/51/t/22095


I propose that we post here using this template:

Template for copying/pasting:
--------------------------- (begin template) ---------------------------
UTM Version tested:
UTM 64-bit or 32-bit: (run "uname -a" and look for x86_64 if unsure)
IPS Pattern Version tested:
# of IPS patterns enabled:
Anti-Portscan: [ON / OFF]
Anti-DoS/Flooding: [ON / OFF]
Application Control (Network Visibility): [ON / OFF]
Advanced Threat Protection (ATP): [ON / OFF]
System OR Motherboard:
Virtualization HyperVisor: (if any. include version #)
CPU: (include model #. cat /proc/cpuinfo if unsure)
RAM: [total GB, # of DIMMs, and speed (MHz and CAS, if known)]
Network Interfaces make/model/chipset: (use lspci if unsure)
Network Interface connection speed: (100mbps or 1gbps... verify with ethtool)
Network Interface BUS: (e.g. 1 onboard, one in PCIe x16 slot)
VLANs in use during benchmarks: [YES/NO] (If yes, specify if tests were run through a single NIC or dual)

any relevant non-default BIOS settings (such as thermal or power limits / throttling or overclocking):


If using Virtualization, also include:
# of CPU cores assigned to the UTM
any MHz limits are in place:
how the NICs are assigned to the VM (VT-D or bridged)
which NIC driver is in use (VMXNET3 is strongly recommended for ESXi): 


Benchmark Client1:
CPU:
OS:
NIC:
NIC connection speed: (e.g. 100mbps or 1gbps)
AntiVirus?:
Comments:

Benchmark Client2 (e.g. iperf server / file server, ...):
CPU:
OS:
NIC:
NIC connection speed: (e.g. 100mbps or 1gbps)
AntiVirus?:
Comments:

Internet Connection type and advertised Up & Down Speeds (if any non-local tests were conducted): 

Benchmark Results:
IPS OFF / disabled:
Local iPerf:
Local SMB/CIFS: 
Local NFS:
Local iSCSI:
speedtest.net: [up / down] [browser used]
others:

IPS ON, single-stream:
Local iPerf:
Local SMB/CIFS: 
Local NFS:
Local iSCSI:
speedtest.net: (up / down)
others:

IPS ON, multi-stream:
same as above, but with multiple clients or servers simultaneously. Relevant with multi-core CPUs, esp. if above results are slow.

Comments / Notes:
(general relevant comments)

Link to unofficial HCL hardware thread POST: (if any)

--------------------------- (end template) ---------------------------

INSTRUCTIONS / NOTES:
1. These benchmarks would be most helpful if all of the IPS pattern groups are enabled (which is currently the default), so we can get an apples-to-apples comparison.
Currently the "Extra Warnings" are disabled by default, so I'd recommend leaving them off.


2. Any changes to the IPS patterns or settings will cause the IPS to restart; during the restart, IPS performance will be inconsistent; please watch the CPU graph or tail the IPS log to be sure the restart completes before resuming benchmarks.

3. please check to see if any other traffic is passing the firewall before and during benchmarking, as this would cause the results to be too low.

4. "Local" means LAN(x)->LAN(y) or LAN->DMZ, not single-LAN!

5. iPerf for Windows is available at Iperf
un*x clients are available in most OS repos.

Running multiple tests with common ports is a good idea, as IPS performance will vary for different services. However, depending upon what services your OS is running, this may be difficult.
Make sure to allow iPerf through your firewalls (UTM and client/host firewalls).

6. Client/Server AntiVirus should be disabled during file or web tests.

7. Please disable the UTM's http proxy if doing HTTP / WEB tests, as it will badly skew the results in unpredictable directions.

8. VM hypervisors (ESXi, Hyper-V, Xen, KVM) are OK as long as they are mentioned
Please do not bother benchmarking anything running on a desktop virtualization system such as VMWare WorkStation / Fusion or Parallels, as their networking performance is generally poor and/or inconsistent.
If running Xen, KVM, etc. on top of another OS (RedHat, Ubuntu, ...), please mention so, and the OS version.

9. Please make sure there is enough RAM (there should be little or no SWAP utilization in Reporting->Hardware); the IPS will use 500-800MB per Instance (expect about 1 Instance per CPU CORE OR THREAD (different users are getting different results)). If you do not have enough RAM for multiple IPS instances, you can reduce them. 1 instance is sufficient for single-stream benchmarking.

Setting IPS instances to higher than # of PHYSICAL Cores will usually HURT performance, even if you have Hyper-Threading (at least that is the case on my Atom CPU).

10. Please do not keep yourself logged into webadmin during testing; it consumes a lot of CPU.
If you need to watch bandwidth graphs, iftop is available on the console.

11. Note that QOS settings can limit peak bandwidth.

12. The UTM's Hard Drive type and speed is irrelevant to IPS speed, as long as the system is not actively swapping.
However, for file-server tests, the Client/Server's drive speeds are important.

13. if you are not confident in your abilities or results, please post at https://community.sophos.com/products/unified-threat-management/astaroorg/f/51/t/22095 and ask for help

14. if I missed anything, please leave a reply to my other thread:
https://community.sophos.com/products/unified-threat-management/astaroorg/f/51/t/22095

Thanks!
Barry


This thread was automatically locked due to age.
  • UTM Version tested: 9.106
    UTM 64-bit or 32-bit: 32-bit
    IPS Pattern Version tested: 52015
    # of IPS patterns enabled: 7942 of 15947
    Application Control (Network Visibility): ON. (Turning off made no noticeable difference on this system)
    System OR Motherboard: MSI Industrial Atom board (obsolete)
    Virtualization HyperVisor: none
    CPU: Intel Atom N270, 1.60GHz, single-core (+ HyperThreading)
    RAM: 2GB, single DIMM. speed unknown at the moment, but I'm certain it meets the CPU's MAX RAM interface speed.
    Network Interfaces make/model/chipset: dual Intel 82574L
    Network Interface connection speed: 1gbps each
    Network Interface BUS: both onboard, probably PCI bus
    VLANs in use during benchmarks: YES. SINGLE-NIC for Local Tests

    any relevant non-default BIOS settings (such as thermal or power limits / throttling or overclocking): not modified

    Benchmark Client1 (fileserver, iperf client):
    CPU: Intel i5-4670k, 3.4GHz
    OS: Windows 8.1 RTM, 64-bit
    NIC: Intel i217-v
    NIC connection speed: 1gbps
    AntiVirus?: disabled
    Comments: used in all tests

    Benchmark Client2 (iperf server):
    CPU: Intel i7-620M (laptop, 2.66GHz dual core)
    OS: Fedora 19 Linux, 64-bit
    NIC: Intel 82577LM onboard
    NIC connection speed: 1gbps
    AntiVirus?: none
    Comments: used only in iPerf tests

    Benchmark Client3 (file server):
    CPU: AMD Athlon 64, 2.2GHz
    OS: Win 7, 32-bit
    NIC: NVidia NForce4
    NIC connection speed: 1gps
    AntiVirus?: none
    Comments: only for SMB/CIFS test

    Internet Connection type and advertised Up & Down Speeds: FiOS 15/5, but frequently tests at 25/5 or even 25/10

    Benchmark Results
    IPS OFF / disabled:
    Local iPerf: 434-461mbps. probably limited by PCI bus and/or single-NIC w VLANs
    Local iPerf DUALTEST (bidirectional): 545-598mbps COMBINED. probably limited by PCI bus and/or single-NIC w VLANs
    Local SMB/CIFS: 30mbps (probably limited by client HD speed)
    speedtest.net: 25mbps down, 5.5mbps up. Browser: Chrome 30

    IPS ON, single-stream:
    Local iPerf, default port 5001: 32.0 - 33.9 mbps
    Local iPerf, default, DUALTEST (bidirectional): 67-75 mbps COMBINED
    Local iPerf, port 80: 16.9 - 17.7 mbps
    Local iPerf, port 80, DUALTEST (bidirectional): 24-36 mbps COMBINED
    Local iPerf, port 139:  28.1-31.5 mbps
    Local iPerf, port 445:  30.8-34.3 mbps
    Local SMB/CIFS: 4-5mbps [:(]
    speedtest.net: 16.5mbps down, 5.5mbps up

    IPS ON, multi-stream:
    not relevant on this single-core CPU

    Comments / Notes:
    I'm not testing this system with all patterns turned on as the performance is already poor. No point in beating a dead horse.
    see also: https://community.sophos.com/products/unified-threat-management/astaroorg/f/54/t/41214 for some #'s with fewer patterns enabled.

    The System Interrupt ('si' in top) load is very high on this system (>60% under iPerf). Apparently the NICs have no offloading features, etc.
    That said, I've seen much poorer performance reports of Atom systems with Realtek NICs, so I don't regret getting Intels.

    Warning: for single-stream, all currently (October 2013) available Atoms will not be any faster except for any GHz clock and RAM difference, as they are all the same CPU architecture. Multi-core should help with multi-stream.

    Newer Atoms (Silvermont/Bay Trail/Avoton) are coming soon. They are supposed to have up to 50% better CPU performance, but I don't know what the real-world boost will turn out to be.

    Link to unofficial HCL hardware thread POST:
    https://community.sophos.com/products/unified-threat-management/astaroorg/f/52/t/27167


    Barry
  • UTM Version tested: 9.106
    UTM 64-bit or 32-bit: 64-bit
    IPS Pattern Version tested: 52155
    # of IPS patterns enabled: 8826 of 16811 (default, all groups are on)
    Application Control (Network Visibility): OFF
    System OR Motherboard: HP MicroServer Gen8 - G1610T
    Virtualization HyperVisor: none
    CPU: Intel Celeron G1610T 2.30GHz dual-core (no HT)
    RAM: 8GB, single DIMM, DDR3 1600 / PC3-12800 CL=11
    Network Interfaces: dual Broadcom BCM5720
    Network Interface connection speed: 1gbps
    Network Interface BUS: dual onboard (PCIe)
    VLANs in use during benchmarks: NO

    any relevant non-default BIOS settings (such as thermal or power limits / throttling or overclocking): power management enabled, OS management setting

    Benchmark Client1 (fileserver, iperf client):
    CPU: Intel i5-4670k, 3.4GHz
    OS: Windows 8.1 RTM, 64-bit
    NIC: Intel i217-v
    NIC connection speed: 1gbps
    AntiVirus?: disabled
    Comments: used in all tests

    Benchmark Client2 (iperf server):
    CPU: Intel i7-620M (laptop, 2.66GHz dual core)
    OS: Fedora 19 Linux, 64-bit
    NIC: Intel 82577LM onboard
    NIC connection speed: 1gbps
    AntiVirus?: none
    Comments: used only in iPerf tests

    Internet Connection type and advertised Up & Down Speeds: FiOS 15/5, but frequently tests at 25/5 or even 25/10

    Benchmark Results
    IPS OFF / disabled:
    Local iPerf: 860-906mbps [[:D]]
    Local iPerf DUALTEST: 1190-1210mbps [[:D]]
    Local SMB/CIFS: pending
    speedtest.net: pending

    IPS ON, single-stream:
    Local iPerf: 212-268mbps
    Local iPerf DUALTEST: 229-280mbps COMBINED
    Local iPerf port 80: 68-72mbps
    Local iPerf port 80 DUALTEST: 140-146mbps
    Local iPerf port 139: 189-196mbps
    Local iPerf port 445: 153-221mbps
    Local SMB/CIFS: pending
    speedtest.net: pending

    IPS ON, multi-stream:
    pending

    Comments / Notes:
    By default, only one Snort process is running on this system.

    The System Interrupt ('si' in top) load is very low on this system (peak 3.2%). I believe this is an indication of very good NICs.

    Link to unofficial HCL hardware thread POST: https://community.sophos.com/products/unified-threat-management/astaroorg/f/52/t/27167

    Barry
  • Hi Barry,

    Are you doing all tests with iperf?
    If so, which commands do you use?

    iperf -s -p # (for the mentioned iperf tests).

    Do you also use iperf for SMB/CIFS, or how do you test these?

    Is the DUALTEST the iperf test with -d in the client or something else?

    Managing several Sophos firewalls both at work and at some home locations, dedicated to continuously improve IT-security and feeling well helping others with their IT-security challenges.

  • Hi,

    Yes, I believe that's the correct iPerf command; I didn't change packet sizes or any advanced settings. All tests were done using TCP (which is default).

    I did run iPerf on the SMB/CIFS ports (445 & 139); those tests are listed.

    For the tests listed as "Local SMB/CIFS", I did file copies from LAN->DMZ between Win7 and Win8.1 PCs.
    I'm not sure why the result was so poor compared to iPerf; the iPerf port 80 test result compares well to speedtest.net.

    Barry
  • UTM Version tested: 9.171 (BETA)
    UTM 64-bit or 32-bit: 64-bit
    IPS Pattern Version tested: 54113
    # of IPS patterns enabled: 1565 of 4657 (default, all groups are on, 12month age limit set)
    Anti-Portscan: OFF
    Anti-DoS/Flooding: OFF
    Application Control (Network Visibility): OFF
    Advanced Threat Protection (ATP): OFF
    System OR Motherboard: GigaByte GA-Z87N-WiFi
    Virtualization HyperVisor: none
    CPU: Intel i5-4670 (Haswell) 3.4GHz (3.8GHz Turbo) quad-core (no HT), stock cooler
    RAM: 4GB, single DIMM, DDR3 1866 / PC3 14900 CL=9@1866, using SPD
    Network Interfaces tested:
    1. Onboard Intel i217-V gigE NIC
    2. PCIe Intel 82572EI gigE NIC
    Network Interface connection speed: 1gbps
    Network Interface BUS: PCIe
    VLANs in use during benchmarks: NO

    any relevant non-default BIOS settings (such as thermal or power limits / throttling or overclocking): defaults

    Benchmark Client1 (fileserver, iperf server):
    CPU: Intel i5-4670k, 3.4GHz
    OS: Windows 8.1, 64-bit
    Iperf 2.0.5-2
    NIC: Intel i217-v
    NIC connection speed: 1gbps
    AntiVirus?: disabled
    Comments: used in all tests

    Benchmark Client2 (iperf client):
    CPU: Intel i7-620M (laptop, 2.66GHz dual core)
    OS: Fedora 19 Linux, 64-bit
    Iperf 2.0.5
    NIC: Intel 82577LM onboard
    NIC connection speed: 1gbps
    AntiVirus?: none
    Comments: used only in iPerf tests

    Internet Connection type and advertised Up & Down Speeds: FiOS 50/25, but tests at about 60/40.

    Benchmark Results
    IPS OFF / disabled:
    Local iPerf: 430mbps
    Local iPerf DUALTEST: 750mbps
    Local SMB/CIFS: pending
    speedtest.net: pending

    IPS ON, single-stream:
    Local iPerf: 360mbps
    Local iPerf DUALTEST: 590mbps COMBINED
    Local iPerf port 80: 308mbps
    Local iPerf port 80 DUALTEST: 520mbps
    Local iPerf port 139: pending
    Local iPerf port 445: pending
    Local SMB/CIFS: pending
    speedtest.net: pending

    IPS ON, multi-stream:
    pending

    Comments / Notes:
    CPU throttling seems to be a problem on this system. User William has commented on this quite a bit in these forums. I had to run an instance of 'openssl speed' to get the CPU to run at full speed, otherwise the IPS results are less than half as fast.
    This shouldn't be a problem on a busy, multi-user system, and even if it is a problem, port 80 still gets 120mbps.

    By default, two Snort processes are running on this system, but I never saw more than one busy, even with multiple Iperf connections running (on one client/server pair). I guess it distributes load by IP?

    The System Interrupt ('si' in top) load is very low on this system (peak 0.6%). I believe this is an indication of very good NICs (and a fast CPU).

    I am not sure why the results for the i5 with IPS disabled are so much lower than the HP with IPS disabled, unless the Broadcom NICs are really that much better. 
    The Intel PCIe NIC in the i5 is pretty old.
    Nonetheless, the IPS performance with the i5 is better, but this is also with the 9.2 beta, and there are some significant IPS changes there, so it's not an apples-to-apples comparison.

    Link to unofficial HCL hardware thread POST: pending

    Barry
  • Hi Barry,

    What do you mean with you had to run openssl speed? Is it something you run from the commandline?

    Managing several Sophos firewalls both at work and at some home locations, dedicated to continuously improve IT-security and feeling well helping others with their IT-security challenges.

  • Hi Barry,
    trying to run some tests on my i3-4130 box using 9.194-5, so you get a better spread of results. So far not good, the added NIC keeps failing under load. The kernel shows an error.

    I don't have a spare PCI-e NIC to replace it with at the moment, no car and temp is 38c and rising.

    Ian

    I found another card hidden in the spare parts draw, but that gives the same errors. Either board incompatibility or faulty motherboard.
    Might be or might not be of interest, what little testing I was able to, the CPU never really budged from about 2% even when thoughput hit 96Mb/sec
  • Hi Ian, there's a kernel bug with the intel driver and some NICs... What are you using?

    There's a couple threads about it. 

    Barry
  • Hi Barry,
    Intel 82574L CT cards. I thought that was fixed in an earlier 9.2b.

    Only seems to happen under load and maybe a bit of heat as a result of the load.

    Ian