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.
Parents
  • UTM Version tested: 9.108
    UTM 64-bit or 32-bit: 64 bit
    IPS Pattern Version tested:57032
    # of IPS patterns enabled:4494 of 19126 patterns
    Anti-Portscan: ON
    Anti-DoS/Flooding: OFF
    QOS: BOTH(see below)
    Application Control (Network Visibility): ON
    Advanced Threat Protection (ATP): OFF
    System OR Motherboard:
    Virtualization HyperVisor: Hyper-v (Server 2008 R2)
    CPU: Xeon E3-1220 v2 (3.10 GHZ)
    RAM: 3 Gigs
    Network Interfaces make/model/chipset: Intel Dual nic, 2x broadcom
    Network Interface connection speed: Gigabit
    Network Interface BUS: 2x onboard pcie x1 1 dual port pcie x4
    VLANs in use during benchmarks: NO

    any relevant non-default BIOS settings (such as thermal or power limits / throttling or overclocking): None set to dell Default


    If using Virtualization, also include:
    # of CPU cores assigned to the UTM 2
    any MHz limits are in place: reserved 50% of total cpu power.  MAX 100%
    how the NICs are assigned to the VM:  Intel assigned to internal lan..shared by file server vm internal and UTM internal and host internal. 1 nic assigned to wan only for utm.  1 nic assigned to internet dedicated to utm.  1 nic assigned for wifi dedicated to utm.
    Windows drivers for all nics.

    Internet Connection type and advertised Up & Down Speeds (if any non-local tests were conducted): Comcast cable provisioned at 50/10

    Benchmark Results:
    speedtest.net: 
    QOS OFF, IPS ON, http proxy a/v ON Dual Scan at 5 megabytes.
    Speedtest.net by Ookla - My Results

    QOS OFF, IPS ON, http Proxy OFF.
    Speedtest.net by Ookla - My Results

    QOS ON, IPS ON, Http Proxy ON
    Speedtest.net by Ookla - My Results

    Comments / Notes:
    I have a couple of things going for me here.  One I've been using and been deeply tinkering with UTM since v4.  I also have fast enough hardware AND i have dedicated enough resources to the UTM to overcome it's IPS shortcomings.  During the runs with HTTP Proxy off the host cpu never went above 2.0 ghz.  Once the http proxy was engaged it got pegged to it's maximum of 3.1 ghz.  My host system however is fast enough to stuff a 50 meg pipe with single stream action though.  I have my qos set to 50/10 so you can see the reservations the download equalizer and upload optimizer has on my machine's performance(my wife is upstairs doing things and my kid and her friend are on their cell phones on the wifi).  I only have 2 cores assigned to the UTM because if i assigned 4 my IPS results would stink without me having to either modify the power profile of the host machine or reduce the number of ips instances to try to increase the load enough on one or two cores to force a ghz ramp.  Hopefully 9.2 or higher will rectify this shortcoming. For right now the best config is the fastest DUAL CORE cpu you can get.  unless you have more than 50 users with a high http proxy load a quad core is going to HURT your IPS performance instead of helping it.

    Owner:  Emmanuel Technology Consulting

    http://etc-md.com

    Former Sophos SG(Astaro) advocate/researcher/Silver Partner

    PfSense w/Suricata, ntopng, 

    Other addons to follow

Reply
  • UTM Version tested: 9.108
    UTM 64-bit or 32-bit: 64 bit
    IPS Pattern Version tested:57032
    # of IPS patterns enabled:4494 of 19126 patterns
    Anti-Portscan: ON
    Anti-DoS/Flooding: OFF
    QOS: BOTH(see below)
    Application Control (Network Visibility): ON
    Advanced Threat Protection (ATP): OFF
    System OR Motherboard:
    Virtualization HyperVisor: Hyper-v (Server 2008 R2)
    CPU: Xeon E3-1220 v2 (3.10 GHZ)
    RAM: 3 Gigs
    Network Interfaces make/model/chipset: Intel Dual nic, 2x broadcom
    Network Interface connection speed: Gigabit
    Network Interface BUS: 2x onboard pcie x1 1 dual port pcie x4
    VLANs in use during benchmarks: NO

    any relevant non-default BIOS settings (such as thermal or power limits / throttling or overclocking): None set to dell Default


    If using Virtualization, also include:
    # of CPU cores assigned to the UTM 2
    any MHz limits are in place: reserved 50% of total cpu power.  MAX 100%
    how the NICs are assigned to the VM:  Intel assigned to internal lan..shared by file server vm internal and UTM internal and host internal. 1 nic assigned to wan only for utm.  1 nic assigned to internet dedicated to utm.  1 nic assigned for wifi dedicated to utm.
    Windows drivers for all nics.

    Internet Connection type and advertised Up & Down Speeds (if any non-local tests were conducted): Comcast cable provisioned at 50/10

    Benchmark Results:
    speedtest.net: 
    QOS OFF, IPS ON, http proxy a/v ON Dual Scan at 5 megabytes.
    Speedtest.net by Ookla - My Results

    QOS OFF, IPS ON, http Proxy OFF.
    Speedtest.net by Ookla - My Results

    QOS ON, IPS ON, Http Proxy ON
    Speedtest.net by Ookla - My Results

    Comments / Notes:
    I have a couple of things going for me here.  One I've been using and been deeply tinkering with UTM since v4.  I also have fast enough hardware AND i have dedicated enough resources to the UTM to overcome it's IPS shortcomings.  During the runs with HTTP Proxy off the host cpu never went above 2.0 ghz.  Once the http proxy was engaged it got pegged to it's maximum of 3.1 ghz.  My host system however is fast enough to stuff a 50 meg pipe with single stream action though.  I have my qos set to 50/10 so you can see the reservations the download equalizer and upload optimizer has on my machine's performance(my wife is upstairs doing things and my kid and her friend are on their cell phones on the wifi).  I only have 2 cores assigned to the UTM because if i assigned 4 my IPS results would stink without me having to either modify the power profile of the host machine or reduce the number of ips instances to try to increase the load enough on one or two cores to force a ghz ramp.  Hopefully 9.2 or higher will rectify this shortcoming. For right now the best config is the fastest DUAL CORE cpu you can get.  unless you have more than 50 users with a high http proxy load a quad core is going to HURT your IPS performance instead of helping it.

    Owner:  Emmanuel Technology Consulting

    http://etc-md.com

    Former Sophos SG(Astaro) advocate/researcher/Silver Partner

    PfSense w/Suricata, ntopng, 

    Other addons to follow

Children
  • UTM Version tested: 9.309
    UTM 64-bit
    IPS Pattern Version tested: 78709
    # of IPS patterns enabled: 5525
    Anti-Portscan: OFF
    Anti-DoS/Flooding: OFF
    Application Control (Network Visibility): ON
    Advanced Threat Protection (ATP): ON
    System OR Motherboard: Gigabyte C1037UN-EU
    Virtualization HyperVisor: --------------------
    CPU: Celeron c1037U / 2x 1.8 Ghz
    RAM: 4GB
    Network Interfaces make/model/chipset: Realtek
    Network Interface connection speed: 1Gbit
    Network Interface BUS: 2x onboard (1x WAN / 1x LAN and Vlan)
    VLANs in use during benchmarks: YES single NIC

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

    Benchmark Client1: Server
    CPU: C1037 (same Mainboard as UTM)
    OS: Windows 8.1 Pro
    NIC: Realtek
    NIC connection speed: 1gbps
    AntiVirus?: NO
    Comments:

    Benchmark Client2: Client
    CPU: AMD Phenom II 1090T @ 3.8ghz
    OS: Windows 7 Pro
    NIC: Realtek
    NIC connection speed: 1gbps
    AntiVirus?: Sophos UTM Client
    Comments:

    Internet Connection type and advertised Up & Down Speeds (if any non-local tests were conducted): VDSL 100 / 40 - Sync 93 / 35

    Benchmark Results:
    IPS OFF / disabled:
    Local iPerf: 430 mbps on Port 80 / without Vlan and UTM 630mbps on the same Switch
    Local SMB/CIFS: 430 mbps (limited by 1 NIC UTM, maybe Switch Vlan)
    Local NFS: ---------------
    Local iSCSI: ---------------
    speedtest.net: ---------------
    others:

    IPS ON, single-stream:
    Local iPerf: 165 mbps on Port 80
    Local SMB/CIFS: 300 mbps
    Local NFS: ---------------
    Local iSCSI: ---------------
    speedtest.net: ---------------
    others: