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

Poor download/upload performance

Hi! New user here. 

I've recently installed UTM 9 Home (latest version) on my small box (Atom D2550, 4GB, 32GB SSD, Dual 1GB Broadcom BCM 57788 NICs). I had pfSense installed before, but decided to try Sophos. 

Anyway, after installation I noticed that my speed decreased quite a bit. My ISP is Comcast and I'm paying for a 50/10 line, but during speed tests with direct connection to a PC or through pfSense (same hardware) I was getting more like 120/12. 

With the Sophos installed now I'm getting 45/8.5, and this is with just Firewall protection. If I enable Web protection and IPS the speed is about 43/7.5. What the heck?

I ran top command in the terminal to check CPU load. When IPS is enabled I see that Snort uses 99% of one of the cores (being single-threaded I know that's the limiting factor for me with IPS on). However, without IPS during speed tests (firewall only) the CPU idle stays at about 90%, so the limiting factor doesn't seem to be any of the processes nor the CPU. 

I connected my modem directly to my PC and I was again getting the 120/12 speeds. I connected back to Sophos box and again slow speeds. I went as far as duplicating my PC's MAC address on the external NIC. Still the same slower speed. 

The interesting thing is that during the speedtest (speedtest.net) my download speed (with FW only) stays right at 45mbps, doesn't go above, just a straight line on the graph. As if something is "throttling" the speed. I checked my QoS and no throttling there (I had it there for VoIP QoS, but disabled it). 

I'm out of ideas here. Either something in the Sophos software stack is limiting the speed or something is up with my NICs (but I had pfSense installed on the same exact hardware and was getting the 110/12 speeds, and that's with snort ON, maxing out 1 core).

Any help would be appreciated!

Thanks a lot!


This thread was automatically locked due to age.
Parents
  • Some Questions to better understand the different types of lookups for learning purpose.

    1) SXL = Cloud Lookup with Local Cache.
            So If I browse CNN - it checks CNN = News and Display the site.
            It also Caches this locally and therefore subsequent users browsing CNN would check Locally thus faster and Display.
        
    But what is CNN is Hacked and is Serving Malicious Files for whatsoever reason, how long does it take for the Local Cache to Expire and it would lookup in the cloud to confirm now it should be block as Malicious ?

    2) Assuming I did not read this post and simply stays with
    cc get http sc_local_db_= DISK (Typed manually in putty)
    cc get http use_sxl_urid = 1 (Because Endpoint Protection is Enabled and not typed in putty)

    How does the lookup behave in such scenario whereby there is a Local DB and the SXL is 1 which I think means True thus is Enabled?

    3) I read that SXL is the Best Option and would be the way going forward. 
        In what way would Looking up in the cloud, even with local cache be Faster than entire Local DB Cache. It is just about 400MB. Even if Ram is insufficient, loading it to Disk is still faster then lookup in the cloud right?

    I am confused whereby it seems Local DB Cache seems to be the fastest but SXL is the way going forward.

    If SXL is definitely the Best, where is Local DB Cache option available even if it is not officially supported. For all these features to be available even if it is not officially supported it still need code from the developers for it to work thus there must be a reason why such option is there.

    4) Assuming I simply stick to my Local DB Settings.
    cc get http sc_local_db_= DISK (Typed manually in putty)
    cc get http use_sxl_urid = 1 (Because Endpoint Protection is Enabled and not typed in putty)

    How would it Behave when Upgrade to 9.3 whereby SXL is the default.
    It would Overwrite and change to the following by force ? 
    cc get http sc_local_db_= NONE 
    cc get http use_sxl_urid = 1

    5) Is this CFFS and SXL looking at the SAME Database or they are 2 separate Database?

    6) Is SOPHOS still using McAfee Database or now it is using some other database?

    Once again, thank you all for the help, so happy that I happen to see this post and realized there is this SXL.

  • 1) SXL = Cloud Lookup with Local Cache.
            So If I browse CNN - it checks CNN = News and Display the site.
            It also Caches this locally and therefore subsequent users browsing CNN would check Locally thus faster and Display.
        
    But what is CNN is Hacked and is Serving Malicious Files for whatsoever reason, how long does it take for the Local Cache to Expire and it would lookup in the cloud to confirm now it should be block as Malicious ?

    Without going into too many details, the cache is for 10 minutes.  However the system also uses expired cache entries with background refresh.  This means that even if it has been more than 10 minutes it still as fast as a local cache but a site that is suddenly malicious is blocked on the second request.


    2) Assuming I did not read this post and simply stays with
    cc get http sc_local_db_= DISK (Typed manually in putty)
    cc get http use_sxl_urid = 1 (Because Endpoint Protection is Enabled and not typed in putty)

    How does the lookup behave in such scenario whereby there is a Local DB and the SXL is 1 which I think means True thus is Enabled?

    sc_local_db wins over sxl setting.

    3) I read that SXL is the Best Option and would be the way going forward. 
        In what way would Looking up in the cloud, even with local cache be Faster than entire Local DB Cache. It is just about 400MB. Even if Ram is insufficient, loading it to Disk is still faster then lookup in the cloud right?

    I am confused whereby it seems Local DB Cache seems to be the fastest but SXL is the way going forward.

    If SXL is definitely the Best, where is Local DB Cache option available even if it is not officially supported. For all these features to be available even if it is not officially supported it still need code from the developers for it to work thus there must be a reason why such option is there.

    Because of the way SXL uses expired cache, on a loaded system >95% of the time the answer is local and therefore the same speed, but with less memory usage.  It has several thousand times the number of users, is officially supported, and give Sophos more flexibility in the future.

    As for why the local database option even exists, one the reasons is some parts of the world some customer have very poor ping times.  CFFS cloud lookups have no caching and therefore every request causes a lookup.  On a satellite connection with 300ms round trip times...  Their solution was rather than caching the answers, cache the whole database.  On smaller systems the total bandwidth for downloading the local db updates can be higher than the bandwidth for individual lookups.

    The other reason for this (and in some ways the big underlying reason for it all) is that there used to be a company called Astaro who made a UTM that used CFFS for cloud and local db.  Sophos, who uses SXL, purchased Astaro.  As SXL is in many ways much superior to CFFS we are switching everyone on the UTM over to it.

    4) Assuming I simply stick to my Local DB Settings.
    cc get http sc_local_db_= DISK (Typed manually in putty)
    cc get http use_sxl_urid = 1 (Because Endpoint Protection is Enabled and not typed in putty)

    How would it Behave when Upgrade to 9.3 whereby SXL is the default.
    It would Overwrite and change to the following by force ? 
    cc get http sc_local_db_= NONE 
    cc get http use_sxl_urid = 1

    The upgrade changes all customers to have use_sxl_urid = 1.  It does not change the sc_local_db.  Anyone on local db continues to use it.

    5) Is this CFFS and SXL looking at the SAME Database or they are 2 separate Database?

    [QUOTE=Alvin;281168]6) Is SOPHOS still using McAfee Database or now it is using some other database?


    They are both use the same data source (McAfee).  However every cloud server has its own copy of the database.
Reply

  • 1) SXL = Cloud Lookup with Local Cache.
            So If I browse CNN - it checks CNN = News and Display the site.
            It also Caches this locally and therefore subsequent users browsing CNN would check Locally thus faster and Display.
        
    But what is CNN is Hacked and is Serving Malicious Files for whatsoever reason, how long does it take for the Local Cache to Expire and it would lookup in the cloud to confirm now it should be block as Malicious ?

    Without going into too many details, the cache is for 10 minutes.  However the system also uses expired cache entries with background refresh.  This means that even if it has been more than 10 minutes it still as fast as a local cache but a site that is suddenly malicious is blocked on the second request.


    2) Assuming I did not read this post and simply stays with
    cc get http sc_local_db_= DISK (Typed manually in putty)
    cc get http use_sxl_urid = 1 (Because Endpoint Protection is Enabled and not typed in putty)

    How does the lookup behave in such scenario whereby there is a Local DB and the SXL is 1 which I think means True thus is Enabled?

    sc_local_db wins over sxl setting.

    3) I read that SXL is the Best Option and would be the way going forward. 
        In what way would Looking up in the cloud, even with local cache be Faster than entire Local DB Cache. It is just about 400MB. Even if Ram is insufficient, loading it to Disk is still faster then lookup in the cloud right?

    I am confused whereby it seems Local DB Cache seems to be the fastest but SXL is the way going forward.

    If SXL is definitely the Best, where is Local DB Cache option available even if it is not officially supported. For all these features to be available even if it is not officially supported it still need code from the developers for it to work thus there must be a reason why such option is there.

    Because of the way SXL uses expired cache, on a loaded system >95% of the time the answer is local and therefore the same speed, but with less memory usage.  It has several thousand times the number of users, is officially supported, and give Sophos more flexibility in the future.

    As for why the local database option even exists, one the reasons is some parts of the world some customer have very poor ping times.  CFFS cloud lookups have no caching and therefore every request causes a lookup.  On a satellite connection with 300ms round trip times...  Their solution was rather than caching the answers, cache the whole database.  On smaller systems the total bandwidth for downloading the local db updates can be higher than the bandwidth for individual lookups.

    The other reason for this (and in some ways the big underlying reason for it all) is that there used to be a company called Astaro who made a UTM that used CFFS for cloud and local db.  Sophos, who uses SXL, purchased Astaro.  As SXL is in many ways much superior to CFFS we are switching everyone on the UTM over to it.

    4) Assuming I simply stick to my Local DB Settings.
    cc get http sc_local_db_= DISK (Typed manually in putty)
    cc get http use_sxl_urid = 1 (Because Endpoint Protection is Enabled and not typed in putty)

    How would it Behave when Upgrade to 9.3 whereby SXL is the default.
    It would Overwrite and change to the following by force ? 
    cc get http sc_local_db_= NONE 
    cc get http use_sxl_urid = 1

    The upgrade changes all customers to have use_sxl_urid = 1.  It does not change the sc_local_db.  Anyone on local db continues to use it.

    5) Is this CFFS and SXL looking at the SAME Database or they are 2 separate Database?

    [QUOTE=Alvin;281168]6) Is SOPHOS still using McAfee Database or now it is using some other database?


    They are both use the same data source (McAfee).  However every cloud server has its own copy of the database.
Children
No Data