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

Which Intel Core processor (Haswell) for 120+ Mbps with IPS and web filtering

I'm planning on replacing my current home UTM (Atom D2500CC) because it can't keep up with my internet connection (currently 120 Mbps awaiting upgrade to 150 Mbps down, 15 up).
I know I should go for at least an i3 processor, but maybe better an i5.

Looking at the current Haswell processors, I find a few T and S models which should be very low power (good for my electricity bill).

Are these good choices or is it better to choose a "normal" or a K version?

Processors I might be interested in:
i7-4770T, 45W TDP, 2.5GHz clock speed
i7-4770S, 65W TDP, 3.1GHz clock speed
i5-4570S, 65W TDP, 2.9GHz clock speed

Will the i7 (T) perform good enough for high-speed internet lines with IPS and web filtering enabled?
If not, how much difference would there be in performance between the i7-4770S and the i5-4570S? Clock speed only differs a little bit while the i5 is about €100 cheaper currently.


This thread was automatically locked due to age.
  • Update:

    I installed the Beta, and updated to 9.171.

    Power consumption:
    31W idle with 2 NICs plugged in @ 1gbps (Atheros NIC unplugged)
    (27-29W all NICs unplugged)

    31W with Iperf port 80 @ 120mbps 
    55W with Iperf port 80 @ 300mbps AND openssl test running (see notes below)
    my expectation is that typical home power consumption would be 31W unless under heavy load. Note I am not running the HTTP proxy though.

    Some basic Iperf test results are at:
    https://community.sophos.com/products/unified-threat-management/astaroorg/f/52/t/29110

    William is absolutely right about the CPU throttling affecting performance.
    It is so bad that I suspect even a dual-core i3 would be affected.
    I had to run the openssl speed test to get the CPU to run at 3.4GHz, enabling much higher IPS throughput.
    The best way to watch the CPU frequencies in Linux seems to be:
    watch -n.1 'cat /proc/cpuinfo|grep MHz'

    I am really surprised that snort using high CPU (70% of one core, throttled) isn't enough to trigger the CPU to run at a higher speed. I will do some research and more testing...

    After the IPS tests, I turned on all of the following: Application Control (aka Network Visibility), PortScan and Flood protection, and ATP. No reduction in performance was noticed, nor did I see any of those processes (e.g. afcd) using any CPU in 'top'. I was somewhat surprised by that.

    Barry
  • There are several ways to improve things with the CPU frequency scaling.

    The simplest and most effective seems to be:

    echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    ...
    echo "performance" >/sys/devices/system/cpu/cpuN/cpufreq/scaling_governor

    Where 'cpuN' is the highest CPU # for the system; e.g. '3' for a quad-core i5 or i3 w HT, or '7' for a quad-core i7 with HT.
    The default governor can be reset by changing 'performance' to 'ondemand', or by rebooting.

    This gives full IPS performance without having to run 'openssl speed'.

    This does NOT waste any power on Haswell CPUs (and probably on Ivy & Sandy Bridge too). This is because Intel still keeps the voltage low when the CPU is idle.
    Power consumption remains at 31W idle, and is 45W with 300mbps in Iperf port 80.

    The Linux kernel developers have already realized the 'ondemand' governor is not effective with modern CPUs, and have revamped the entire system in Linux 3.9. 
    Unfortunately, the UTM 3.171 is still using a 3.8 kernel, so for now, if you need over 120mbps single-stream performance, it may be necessary to tweak things.

    References:
    Dynamic frequency scaling - Wikipedia, the free encyclopedia
    Linux kernel dev discussion including 3.9 kernel changes: https://plus.google.com/+TheodoreTso/posts/2vEekAsG2QT

    Note the change above will not survive a reboot. The Linux sysctl system is the proper way to set this persistently, although the UTM up2date system may overwrite those changes as well.

    Barry
  • BTW, the Intel CPU cooler does not get loud under Iperf testing, so the system ends up being very quiet.

    At 3 feet away, it's no louder than my Dell e6410 laptop which is on my lap.

    Barry
  • My system now idles between 29W and 29.5W (this is with the quad-port intel NIC already in the system and a 2,5" HDD. 
    My current HDD has suffered some bad blocks, so have ordered a new one WD RED 1TB 2,5" (WD10JFCX). They are extremely enery efficient (idle at 0.6W and 1.4W when reading or writing).

    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.

  • Here an update.
    As Barry already posted the CPU scaling is killing performance.
    Barry already showed the command to set each processor core to performance (from ondemand)
    Another change that also does seem to work is:

    echo -n 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold


    This changes the busy-ness of the CPU at which point it should switch to higher speed. By default this is 95, being 95%. So only when a core hits 95% it will speed up to max. speed. The above command changes 95% to 50%.

    An iperf test between two laptops (port 443) at default gives about 297 Mbps. With 50% speed improves to 431 Mbps with IPS on, with IPS off it further increases to 649Mbps.
    I'm not sure yet if it could be even faster if I connected both testing laptops to the same switch as where the UTM is. 
    Right now the switch with the UTM is connected to another switch on which both laptops are. This does have a serious impact on the speed since traffic traveling from one to the other laptop can only use 1Gbps between the 2 switches.

    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.

  • I'm running the UTM as a VM in ESXi 5.5 and dedicated 2vCPU's to it.  Each of my whitebox hosts are running i7-4770S.  

    I only have a 30Mbit Internet connection, but I'm maxing it quite a bit and CPU has never been an issue.  CPU average is about 20% for an entire month.
  • Another change that also does seem to work is:

    echo -n 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold



    Hi, 
    I tested that too, but for me, it still resulted in worse performance than with the SSL test running or the 'performance' governor, and the idle power draw is the same.

    Barry
  • Hi Barry,
    finally got away from the other afterhours activity to concentrate on this one.
    CPU i3-4130 3.4ghz with HT
    with snort running around 260Mb/sec
    without snort around 500Mb/sec
    Snort when running peaked at 85%cpu ans 1% memory.
    I ran a second download from a website which did cause a higher throughput on iperf with snort running to around 300Mb/sec.

    I found out that QOS does indeed work. Took me about 30 minutes to figure out why I could not get faster than 750Kb/sec. Disabled QOS on external external interface and bingo blinding speed.
    I know that on the same switch the MAC can transfer around 800Mb/sec to the W8.1 PC.

    Power went from 30w to 38w. Test times around 200 secs.
    Ian

    XG115W - v20.0.3 MR-3 - Home

    XG on VM 8 - v21 GA

    If a post solves your question please use the 'Verify Answer' button.

  • Update:

    I installed the Beta, and updated to 9.171.

    Power consumption:
    31W idle with 2 NICs plugged in @ 1gbps (Atheros NIC unplugged)
    (27-29W all NICs unplugged)

    31W with Iperf port 80 @ 120mbps 
    55W with Iperf port 80 @ 300mbps AND openssl test running (see notes below)
    my expectation is that typical home power consumption would be 31W unless under heavy load. Note I am not running the HTTP proxy though.

    Some basic Iperf test results are at:
    http://www.astaro.org/gateway-products/hardware-installation-up2date-licensing/49427-ips-performance-tests-hardware-benchmarks-unofficial.html#post250520

    William is absolutely right about the CPU throttling affecting performance.
    It is so bad that I suspect even a dual-core i3 would be affected.
    I had to run the openssl speed test to get the CPU to run at 3.4GHz, enabling much higher IPS throughput.
    The best way to watch the CPU frequencies in Linux seem to be:
    watch -n.1 'cat /proc/cpuinfo|grep MHz'

    I am really surprised that snort using high CPU (70% of one core, throttled) isn't enough to trigger the CPU to run at a higher speed. I will do some research and more testing...

    After the IPS tests, I turned on all of the following: Application Control (aka Network Visibility), PortScan and Flood protection, and ATP. No reduction in performance was noticed, nor did I see any of those processes (e.g. afcd) using any CPU in 'top'. I was somewhat surprised by that.

    Barry


    THis mirrors my findings...if http proxy kicks(which is high MT) then the cpu will scale properly and snort "wins".  Intel has gotten hyper aggressive with their power management.  This along with their cpu's being MT focused leads to this issue.  You can get around it by changing the power profile and Barry has indicated above...

    Here' one article:
    Errata Security: Multi-core scaling: it’s not multi-threaded

    Owner:  Emmanuel Technology Consulting

    http://etc-md.com

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

    PfSense w/Suricata, ntopng, 

    Other addons to follow

  • Hi folks,
    more testing stuff.
    Just ran the same tests with the same configuration on the i3-3220t system. In summary, 10 watts less peak, 100Mb/s more with snort and peaking to 700Mb/s without snort.
    Snort ran to 90% cpu and 3% mem.

    Ian[:)]

    XG115W - v20.0.3 MR-3 - Home

    XG on VM 8 - v21 GA

    If a post solves your question please use the 'Verify Answer' button.