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

Slow Throughput with Fast Cable

I was hoping some users who are far more experienced than I, could provide recommendations for improved throughput for a home license with 3concurrent users maximum and a cable modem connection of 180 down/30 up Mb/sec. 

Speed was measured with a computer directly connected to the cable modem for a baseline. A variety of speed test sites were used, as well as uploading and downloading large files to servers with timed comparisons and performance monitoring in Windows.

I tried the current software UTM version 9 on a Core 2 Duo at 1.8 GHz with 2GB RAM and a 7200 rpm HD and found that with everything off (but the firewall/NAT) that throughput was good. However, after activating IPS for Windows system/Office/Malware, download speed dropped to the 50s. Adding Web filtering and single AV, dropped it to the 40s. The latency of speed tests jumped from the 10-20 msec range to 160-170 msec range as well.

I then repeated the test on different hardware with an i7 Ivy Bridge 3770K with 32 GB RAM and a 7200 rpm HD and found a good baseline with everything off, a drop to the 90s with IPS (as above), and further drop to the 80s with Web filtering and single AV. On this system, CPU utilization peaked at 


This thread was automatically locked due to age.
Parents
  • I was hoping some users who are far more experienced than I, could provide recommendations for improved throughput for a home license with 3concurrent users maximum and a cable modem connection of 180 down/30 up Mb/sec. 

    Speed was measured with a computer directly connected to the cable modem for a baseline. A variety of speed test sites were used, as well as uploading and downloading large files to servers with timed comparisons and performance monitoring in Windows.

    I tried the current software UTM version 9 on a Core 2 Duo at 1.8 GHz with 2GB RAM and a 7200 rpm HD and found that with everything off (but the firewall/NAT) that throughput was good. However, after activating IPS for Windows system/Office/Malware, download speed dropped to the 50s. Adding Web filtering and single AV, dropped it to the 40s. The latency of speed tests jumped from the 10-20 msec range to 160-170 msec range as well.

    I then repeated the test on different hardware with an i7 Ivy Bridge 3770K with 32 GB RAM and a 7200 rpm HD and found a good baseline with everything off, a drop to the 90s with IPS (as above), and further drop to the 80s with Web filtering and single AV. On this system, CPU utilization peaked at 


    Now that i can sit at my computer i can detail things:

    The latency spike is due to the http proxy.  It murders latency measurements however for http that's not a huge deal. You can't use an http based speedtest site for accurate latency measurements due to the large latency penalty enacted by the http proxy.  I don't know what this is but I've thrown 3 ghz of total cpu and never gotten that one to go away.  On IPS.  Read my links about how ips works and modern cpu design.  the Single threaded multi-process configuration of IPS(which is snort) is not going to force modern cpus out of low power mode by itself...unless you are hammering the cpu with other kinds of traffic that can make the cpu sense that more than one core needs to get involved.  What i have found is the following:

    In order to get a modern cpu fully engaged you need to have enough traffic going through it that will load up more than one core.  Since snort won't push a modern cpu by itself you have to have more traffic that will.  In your case that will be http traffic.  Here is how I've confirmed this.  i'll start a download and watch my throughput sometimes cap at 50% of my 50 megabit down.  I then open 36 tabs at once on my desktop.  This sudden inrush of http data force the multi-threaded http proxy to request maximum cpu availability as it sends all requests by the cpu.  The cpu responds by ramping clocks on all 4 cores to maximum.  All of the pages load quickly and for about a second i'll see 50 megabits on my download as the ips now get full attention from one core at maximum clockspeed.  Once that clockspeed gets ramped down the download goes back down as the cpu drops back to 1.1 ghz.  The only way around this is to use either vmware(which will force higher clocks once the vm is requesting enough ghz...or to disable power management on the cpu so that is runs at full clockspeed all the time.  Each configuration is going to make this a different exercise.  For my setup i'm not using vmware i'm using hyper-v which puts me into a bit of a pinch.  Hyper-v won't let me use the cpu as a bucket of ghz so i have to assign by vcpu.  This means i am presenting a multi-core cpu to the utm9 which puts me smack into the problem you have as well.  What i had to do was reduce my ips instances to one....and then once i get a couple of downloads going the cpu would get ramped up by the ips instance since enough traffic was finally getting pushed to force a rampup.  Virtual machines make this issue much easier to get around.

    The issue with an I7 or even an i5 is your situation is you don't have enough traffic on a consistent basis to force a ramp up due to the large amount of core/threads (4 cores and 8 threads).  This is normally not a bad this as the cpu can easily load balance across all of its resources.  this allows the cpu to remain at a low power state and saves power.  Modern cpus are more geared towards multi-threaded workloads and not single threaded workloads.  When a modern cpu is presented with a high single threaded workload unless it is extreme the cpu isn't going to ramp up 7 other threads or cores to service that one workload due to the power saving bias the market has been demanding.

    How to deal with this problem:
    Use either hyper-v or VMware.  This way you can restrict the number of cores presented to the utm and this makes it easier to force a system ramp up.  I would recommend VMware as it's more mature and give you much more flexibility.  Hyper-v however has the advantage of being windows based making it simple to disable the power management of the system completely if needed.  

    Disable power management in the bios.  These days this isn't going to work because power management is hard coded into the cpu.  Only the OS can force power management changes.

    Get a slower cpu.  Clock speed is still king.  I would go no higher than a core i3 dual core with NO HT.  You have the best chance of NOT hitting this issue with a dual core machine.  Most folks run to the i5 and higher due to marketing without knowing how these cpus really are designed.  That's not your fault and it the case of excellent if not totally ethical marketing by Intel. 

    The main issue is unless you are either an extreme user(like me) or a larger installation the core i3 is going to give you the best bet of decent IPS performance regardless if you are using VM's or not.   

    I hope this makes things a bit more clear.  You really have to carefully design your systems now for the realities of modern cpus designed for multi-threaded loads in a single threaded IPS world.  Unfortunately Sophos can't do much here as Snort has said they do not intend to go MT anytime soon.
  • The latency spike is due to the http proxy.  It murders latency measurements however for http that's not a huge deal. You can't use an http based speedtest site for accurate latency measurements due to the large latency penalty enacted by the http proxy.  I don't know what this is but I've thrown 3 ghz of total cpu and never gotten that one to go away.


    Hey William,

    If the proxy is in cloudy mode, I think the extra latency you're seeing is between the proxy and Sophos' servers. In my own tests, most servers have 100-150ms ping times and with Astaro's cffs servers responding in the same range, it explains most of the 200-300ms I'm seeing. Allow for delays in the cffs server response and I think you have most of the delay explained.

    To isolate UTM-side delays, you want to use the local cache. Whatever delay you get in mem mode is UTM processing delay. Compare that with the same delays in cloudy mode and the difference is your network & cffs-side delay.
Reply
  • The latency spike is due to the http proxy.  It murders latency measurements however for http that's not a huge deal. You can't use an http based speedtest site for accurate latency measurements due to the large latency penalty enacted by the http proxy.  I don't know what this is but I've thrown 3 ghz of total cpu and never gotten that one to go away.


    Hey William,

    If the proxy is in cloudy mode, I think the extra latency you're seeing is between the proxy and Sophos' servers. In my own tests, most servers have 100-150ms ping times and with Astaro's cffs servers responding in the same range, it explains most of the 200-300ms I'm seeing. Allow for delays in the cffs server response and I think you have most of the delay explained.

    To isolate UTM-side delays, you want to use the local cache. Whatever delay you get in mem mode is UTM processing delay. Compare that with the same delays in cloudy mode and the difference is your network & cffs-side delay.
Children
No Data