Guest User!

You are not Sophos Staff.

[9.075][CLOSED] Slow Throughput

Hello,

I was wondering if anyone knows if there is a throughput limitation from WAN to LAN in place with QOS off and IPS enabled, with appropriate rule sets for a Windows installation, in the most current version of the Beta?

My current cable connection is capable of 180 Mb/sec down and 30 Mb/sec up. I have throughput from WAN to LAN of 180 Mb/sec (wire speed) with IPS off. I am attempting to realize single stream WAN to single client LAN throughput as close as possible to wire speed.

With IPS enabled, throughput falls to the 90 Mb/sec range with a test system comprised of an Asus P8Z77-V Deluxe motherboard with i7 (Ivy Bridge 3770K), 32 GB 1600 MHz RAM, 7200 rpm HD, and an Intel dual NIC GbE on PCIe. I have tried changing the number of IPS instances running, increasing all cores from on demand to performance mode (1.6 GHz to 3.5 GHz), and have not been able to improve performance. I previously tried a Core2Duo at 1.8 GHz with still lower throughput.

This has been discussed in general, outside the question of the Beta version, in the following thread: https://community.sophos.com/products/unified-threat-management/astaroorg/f/52/t/28805. Page 8 of the thread specifically discusses concerns regarding IDS, IPS, and Snort: https://community.sophos.com/products/unified-threat-management/astaroorg/f/52/t/28805.

I thought this might be more of an issue in the Beta setting, given the QOS that has been added, and the fact that cable and fiber speeds to average home and business users are rapidly increasing at previous price points.

Thank you.
  • I did follow that thread initially... I don't think its qos related, I still think the problem lies in the IPS tuning but I was really surprised at your low throughput. The only time I have ever got really low numbers with high end hardware is driver problem somewhere.

    If you don't mind re-writing your original numbers and your testing methodology and if you have tried it agin with the current beta, that would make all the information available at one place and easier for developers and other beta users to track.

    -Bill
  • Hi,

    The information in the above post was collected using the current beta (9.075-8.1) as a Software UTM on an Asus P8Z77-V Deluxe motherboard with i7 (Ivy Bridge 3770K), 32 GB 1600 MHz RAM, 7200 rpm HD, and an Intel dual NIC GbE on PCIe. MTU settings were correct at 1500. Baseline connection speeds of 180 Mb/sec show that the 2 GbE NICS were connecting at Gb speeds.

    Download speeds were estimated from the WAN side with speedtest.net, Verizon broadband speed test, Xfinity speed test, an internal Cox server speed test, and download of large files from high speed servers. I am assessing single stream WAN to single client LAN throughput, as that is what I am interested in optimizing to as close to wire speed as possible.

    The WAN source is high speed cable with direct computer to cable modem throughput of 180 Mb/sec.

    Download speeds were measured with everything turned off,except the firewall on the UTM, and were wire speed (180 Mb/sec).

    Enabling IPS with no attack rule sets decreases throughput to 165 Mb/sec.

    IPS with standard Windows attack rules only further drops to 130 Mb/sec.

    IPS with Windows/Specific Software/Malware rules results in a drop to the 90s.

    With regard to IPS settings, I have attached the rule sets applied to the single local network. No advanced tuning was used as all of the computers are Windows clients and not servers.

    All of the above was performed with QOS off. The only configurations compared were baseline (firewall only) and firewall plus IPS.

    Additionally tried was limiting instances of IPS (Snort) to 1 or 2, and changing the baseline on demand mode for all 8 CPU core from on demand (1.6 GHz) to performance (3.5 GHz) without improvement noted.

    Other posts raise concerns about throughput with IPS enabled before the current Beta, but are difficult to compare due to varied hardware (mainly Intel Atoms) and nonstandardized testing. The posts often do not separate single from multi-stream tests as well.
  • desktop mobo is the common thread here asteroid.  it is something with your hardware that isn't performing correctly with utm.

    Owner:  Emmanuel Technology Consulting

    http://etc-md.com

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

    PfSense w/Suricata, ntopng, 

    Other addons to follow

  • I am seeing the same issue.  with the current released 9 UTM and the beta 9.1 they both almost HALF the bandwidth when I turn on IPS.  i have tested the exact same hardware with PFSense 2.02 and that takes very little 1-3% hit when I turn on the same rules.  here are some things that I am going to play with to see if I can make UTM snort as speedy as the PFsense one.

    look for "search-method " is one of the options in PFsense that helped.

    Some notes on

    but still UTM is slower with IPS on

  • look for "search-method " is one of the options in PFsense that helped.

    I think PF_RING is probably what will make a huge difference specially with hyper threading on modern cpus.
    I have used
    config detection: search-method ac-split, max-pattern-len 20, search-optimize
    in the past and it seems to work great but I don't have as much bandwidth available as Asteroid for a single user to really compare the difference between ac-bnfa and ac-split. I know memory usage is higher with ac-split but I didn't see any significant cpu usage difference.

    Regards
    Bill
  • is there a place to enter these changes to test with Astaro?  maybe a CC command?
  • Thank you dpackham and Billybob for responding to my post!

    I would be interested in assessing the effect of changing the above search-method, but I have some additional questions:

    1) Is ac-bnfa the current baseline method?

    2) Does anyone know the potential benefit of ac-split?

    3) How about ac-q?

    4) As dpackham asked, precisely how would this change be implemented?

    5) If implemented, would this change the parameter until rebooted or permanently?

    6) Is there a configuration file that could be edited if the change is beneficial?

    7) Would UTM software updates overwrite the configuration in the future?

    8) Are there additional potential configuration changes worth considering to improve throughput from IDS/IPS/Snort?

    Thank you.
  • is there a place to enter these changes to test with Astaro?  maybe a CC command?

    1. Turn off snort via webadmin
    2. On your console /ssh type as root
    joe /var/sec/chroot-snort-2931-01/etc/snort/snort.conf
    

    Change Step#3 as shown below. Only change the config detection by commenting out the old config and writing the new one. Don't change anything else or snort may not start at all
    ###################################################
    
    # Step #3: Configure the base detection engine.  For more information, see  README.decode
    ###################################################
    --------SNIP-------------
    # Configure the detection engine  See the Snort Manual, Configuring Snort - Includes - Config
    # config detection: search-method ac-bnfa max_queue_events 5
    config detection: search-method ac-split, max-pattern-len 20, search-optimize

    Use CTRL kw to save and CTRL kq to exit joe 

    Restart snort from webadmin as usual. 
    Once loaded, your ips log will have lines like
    2013:03:12-23:31:05 gatekeeper snort[3740]: Detection:
    2013:03:12-23:31:05 gatekeeper snort[3740]:    Search-Method = AC-Full-Q
    2013:03:12-23:31:05 gatekeeper snort[3740]:     Split Any/Any group = enabled
    2013:03:12-23:31:05 gatekeeper snort[3740]:     Maximum pattern length = 20
    2013:03:12-23:31:05 gatekeeper snort[3740]:     Search-Method-Optimizations = enabled
     

    Notes: As astaro has tuned snort to run within certain memory constraints this configuration probably doesn't give you as much flexibility as a totally reconfigured system but it will give you an idea of performance difference.


    1) Is ac-bnfa the current baseline method?
    2) Does anyone know the potential benefit of ac-split?
    3) How about ac-q?
    4) As dpackham asked, precisely how would this change be implemented?
    5) If implemented, would this change the parameter until rebooted or permanently?

    1. Yes
    2. 20% is what I have heard but I don't have your bandwidth[:@][:P]
    3. Huge memory load but as I stated above astaro config files have memory constraints built in. You can tinker with the configuration and comment out certain lines and test and let us know how it goes since memory is no problem on your system[:)]
    4. See above
    5. You can change the file snort.conf-default along with snort.conf and it will survive a reboot. However astaro sends down different configurations and memory optimizations with up2dates which may revert it back.

    Hope this helps
    Regards
    Bill
  • Thank you for the detailed instructions.

    One quick question - Is Joe built in to this version of Linux, or must it be installed?
  • hi ,

    you can also try 

    enable AES-NI on mother board 
    using jumbo frame on ethernet , if ethernet and utm/asg software support your nic 

    thanks
Share Feedback
×

Submitted a Tech Support Case lately from the Support Portal?