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

Performance related question...

Ok, so I've got my Sophos/Astaro all set up, running as one VM alongside another VM which is my Windows Server 2012 (my DNS/DHCP/etc).  These are the only two applications running on this dedicate PC.  It's got an Intel Core 2 Quad CPU @ 2.4GHz, 8GB RAM and a 64-bit O/S.  I have 1Gbps NICs installed and all network hardware/cables are 1Gbps compatible from the fiber optic box & router all the way to my sophos/astaro box.  

I just upgraded my FIOS from 60/30 Mbps to 150/75 Mbps.  While I didn't really notice it before the upgrade, the IPS feature is pretty resource intensive - it slows down my network to 30/40 Mbps (I presume I'm getting better upload speeds than download speeds because an IPS doesn't care what you send, but does more critical processing of packets received).  When I flip the IPS off, I get the speed I'm paying for.

So my question is this... How do I realize these great new speeds and still use my Sophos/Astaro with IPS?  Would upgrading the PC to the latest chip (4th gen i7) and 32GB of RAM make a material difference?  I'm hesitant to spend $1500 on a new box if there's a chance it's not going to make a material difference...

Appreciate any advice anyone can offer, especially if you've seen this problem yourself and fixed it.

Cheers
- PR


This thread was automatically locked due to age.
  • Not sure if it matters, but I'm running those 2 VMs in VMWare Workstation - latest version.
  • Hi Reciepts,

    For IPS in smaller environments, MHz matters on the CPU more so then cores. More cores means more instances of IPS can run, good in a larger environment like an office with multiple users. IPS can however only use one core per instance so the only way to make the scans faster is by putting a faster CPU under the hood.

    One thing that I do recommend is looking at moving the UTM either over to a dedicated box, or over to a system running ESXi or Hyper-V (esx being my preference). Because of scheduling within Windows, Workstation is great for demoing UTM but not for production. I've run UTM on Workstation before and noted random pauses & hiccups any time the CPU load gets over 20% in Win7 Pro. That's with an i7 & 12GB RAM.

    You'll need to do some further tuning to get the best performance out of the IPS on the virtual platform but that's another thread. I've never taken the time to do the proper tuning at home as I don't run IPS because it interferes with the few online games I play. That was a conscious choice on my part I am reconsidering in light of new hardware & more experience with IPS in the lab.
  • Hi, I agree with Drew about using a bare-metal hypervisor or a dedicated machine (a fast quad-core i5 with Intel NICs should be good), but I would ask

    1. what brand of NICs are in use?

    2. what NIC drivers are in use in the VM? VMXNET3 is recommended.

    3. how high is the CPU utilization in the VM?

    I assume that VMWare Workstation only allows 1VPU per VM, but add more if possible, and make sure the firewall knows they are there and is running multiple Snort IPS processes.

    Barry
  • Barry,

    1) Workstation runs on top of windows so as long as host drivers are stable, Workstation is good. It also runs it's own bridge driver which changes the game somewhat from traditional bare metal or hyperviosr installs.

    2) Workstation doesn't give a choice of NIC's at creation so typically will pick the vlance for older OS'es (XP) and the e1000 for newer ones(Win7 & Linux).

    3) Workstation 8 allows up to the equivalent of 64 vCPU's (8 vCPU's of 8 cores each) . It also permits up to 64GB RAM to be assigned to the guest.

    At the end of the day, it really doesn't matter how you tweak the UTM, running a virtual instance of the UTM on anything other then ESXi or Hyper-V will never reach the same performance levels. There's just too much under the hood in Windows that gets in the way and slows it down. Workstation is great for test & development purposes but not for production.
  • 1. One of the reasons I ask about the NICs is that cheaper NICs have no offloading and therefore waste a lot of CPU resources dealing with more interrupts, etc.

    Thanks for the info.

    Barry
  • 1. One of the reasons I ask about the NICs is that cheaper NICs have no offloading and therefore waste a lot of CPU resources dealing with more interrupts, etc.

    Thanks for the info.

    Barry


    Thanks to everyone for responding.  To answer your question, BarryG, I'm running the Workstation VM on Windows 8 Pro x64 on an Intel Core 2 Quad CPU @ 2.4GHz with 8GB RAM.  I'm giving the VM 1 processor (2 cores), 4GB RAM and 60GB virtual HD.  My network adapters are both Intel PRO/1000 T Desktop Adapters.  In the Host O/S (Win 8) it's running microsoft drivers for both adapters.  The two virtual ethernet (vmware created) adapters are running on vmnet.sys driver.  Hope that answers the questions, if not, tell me how to find the info that helps.  I've thought about installing esxi, but as it's been pretty time intensive getting this whole thing going already, i'm not sure i have it in me.
  • Hi,

    So we need to determine if Snort is using most of the CPU, or is CPU getting wasted by the NIC drivers in Windows or VMWare or the UTM.

    1. run Windows Task Manager or whatever the Win8 equivalent is, showing CPU usage.
    run 'top' in the UTM console while logged OUT of webadmin, and while doing a SINGLE fast download or bandwidth test.
    Take a picture or screenshot of 'top'.
    Take a screenshot of TaskManager.

    2. do the same thing, but with MULTIPLE simultaneous downloads/tests
    Take a picture or screenshot of 'top'.
    Take a screenshot of TaskManager.

    I want to see how much CPU Snort is using, and how much is being used by the UTM kernel.
    I also want to see what Windows is using.

    If VMWare Workstation has its own CPU graphs, take pictures of those too, while doing the same tests.


    You can also try tuning the IPS:
    a. make sure INTERNET or ANY is not in the "Internal Networks" setting for the IPS. This is important

    b. disable irrelevant (to your LAN/DMZ) rulesets


    Are you also using Web Protection? With AntiVirus?


    Barry
  • I don't know if Workstation allows direct assignment of NICs to VMs, but it might help if it does.

    Barry
  • There's a roundabout way to I can elaborate on when I'm back near a computer.
  • Finally back in front of my PC.

    The only way to dedicate a nic to a VM, or more accurately Workstation's crippled imitation of a vSwitch, is to disable everything in the NIC properties except for the VMWare Bridge Protocol Driver. Then go in the Virtual Network Editor and either assign that NIC to an existing VMnet port or create a new one.

    The biggest problem, and I probably sound like a broken record saying this, is that using VMware Workstation as a hypervisor in production environments is not recommended. Workstation was intended as a test & dev system, not production.

    The issues I alluded to early center around performance. Windows treats a VM in workstation as just another program so it gets scheduled alongside everything else. You get something else hogging the box, the VM's will suffer. Windows aggressively caches the vm's ram so you'll encounter penalties there. If the system supports CPU frequency scaling, you'll get penalized there as windows waits for the vm to demand the extra cpu before it ramps up, delaying responsiveness.

    All those factors will hurt UTM performance and as IPS is CPU bound, performance will suffer.

    All in all, unless you absolutely have to run the UTM on Workstation, running it on ESXi or HyperV will give you the best results. ESXi doesn't cache ram, it has minimal processes to schedule alongside the vm's, and it doesn't utilize cpu frequency scaling (though that may have changed in 5.x)