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 Problem with 100Mbit Fiber

Hi there,

We have an ASG220 with Firmware-Version: 9.105-9 and a very strange behavior with the IPS (4507 of 15947 patterns).
Last week we did a fiber upgrade from 30Mbit to 100Mbit.

With IPS enabled we only get around 50Mbit throughput. (Tested with speedtest.net, cifs sharing and iperf)
With IPS disabled we get around 95Mbit, which is good. (Tested with speedtest.net, cifs sharing and iperf)

It makes no difference if I remove the LAN from the Local networks option in the Global IPS Settings. The problem persists.
The only solution is to disable IPS globally with the On/Off Button, to get an acceptable throughput rate.

The snort process uses around 10-20% CPU. There are no special warnings or error messages in the IPS Log.

Does anybody have an idea or recommendation?


This thread was automatically locked due to age.
  • Hi,

    Actually, I probably need to take back what I said about multi-streams for this hardware...

    IIRC, on a dual-core CPU with no HT, the UTM will only run 1 IPS instance.

    A second instance could be forced, but that would have a high RAM cost, and might detract from other systems' performance.

    Barry
  • Doing a little googling on IPS performance...

    1. changing the Snort data structure type might help, but at higher memory cost. Astaro/Sophos have mentioned this as a possibility in 9.2, iirc.

    2. changing the network input buffer type might help, but it's not clear how much, nor how compatible this would be with IPTables.
    Also, most of the alternatives do not appear to be free & open-source but rather proprietary and fee-based.

    3. replacing Snort with Suricata should help as it implements #2 (and probably other performance improvements), and has great memory savings on multi-core as it doesn't need a separate process instance for each core (it's multi-threaded; Snort isn't).
    This would not be a trivial change, but it should be feasible.

    Note that I can't find any actual benchmarks showing how much any of these changes would really help, but I did see a couple of products claiming 10gbps IPS throughput with Snort on a Xeon CPU, but that is probably NOT using IPTables/firewalling also.

    I've also recommended that Sophos make it easier to modify the rulesets, as reducing the number of rules does help performance somewhat (cutting the # of rules in half will NOT double performance).
    This feature request is at:
    Increase Attack Patterns selections in IPS settings

    Also see:
    Network Protection: Use Suricata for IPS

    Barry
  • Thanks for the help. I will open a support ticket.
    Our ISP will be hosting an iperf server on his side, so I should be able to get some numbers.

    @BarryG I will do a benchmark tomorrow over 2 LANs of the UTM220. I'm wondering what numbers I get inside our Gb network. Should be somewhere near your performance results with the G1610T

    Will reply back when I  have some results.
  • Hi there,

    I got the following numbers:

    iperf server = Lenovo Laptop, Intel Core i5 2.67GHz (4 CPUs), Gigabit network card
    iperf client = Dell Latitude, Intel Core i5 2.6 GHz (4 CPUs), Gigabit network card
    UTM220 Appliance with IPS on / off

    iperf measurement between 2 different LANs (tcp traffic, tcp window size 64kB, single thread)

    IPS off = 637 Mbit/s
    IPS on = 184 Mbit/s

    iperf measurement between 2 different LANs (tcp traffic, tcp window size 64kB, multiple threads 2-4)

    IPS off = 924 Mbit/s
    IPS on = 220 Mbit/s

    One last question:

    If I have a single physical link on the firewall with different VLANs on it. Let's say VLAN 100, 200 and 300.
    And I only activate IPS for the VLAN 100 network. 
    Will I also lose performance for VLAN 200 and VLAN 300 packets, because they are on the same physical port?
  • Hi,

    I don't believe the IPS will come into play on the other VLANs, but you can run 'top' during a test and see if snort is consuming a lot of CPU.

    You might want to try iperf on some different ports (80,139,445) as I've found that the IPS is slower on those ports.
    139 and 445 may be impossible on a Windows iperf server though.

    Barry
  • Hi,

    iperf 2-4 threads, IPS on, Port 80 shows 105Mbit/s
    iperf 2-4 threads, IPS on, Port 139 shows 164Mbit/s
    Testing on port 445 was not possible.

    During a speedtest the snort_inline process goes up to 98% CPU Load, measured via top.
    Process list from the WebGUI shows no high snort load.
     
    The interesting part is, even if the test LAN is not protected by the IPS the snort_inline load goes up to 98%. 

    I will see what sophos support thinks about this.
  • Please keep us updated with what you or they find because I'm interested to see the outcome.

    With IPS off what are the speeds just out of curiosity?
  • Sure I will. Still waiting for an answer from the support.

    With IPS off on Port 80 and 139 I got around 900Mbit/s.
  • Just a couple of things you might want to check:

    Check the "Advanced" settings on your interfaces - particularly the interface that is connected to your ISP. Verify that the MTU size is set properly - sometimes the default of 1500 is not optimal. 

    Also, ensure that you have not enabled any download throttling in the QOS settings.
  • We verified MTU size on the beginning with ISP. Everything looks okay there. QOS is disabled. There are no throttling rules activated.

    First answer from support:
    It is known, that on activated IPS, performance will drop by 60 - 70%.
    The customer has to choose if he wants more security and less performance or more performance and less security.

    There are still some open points. Will reply back when I have some additional answers.