Slow Internet Speeds With Adguard Enabbled

I love all AdGuard products, except the Windows one... It really does suck. If you want fast filtering with DNS-over-HTTPS, you can get the latest version of YogaDNS. I allows you to create hosts file (based on Windows hosts files) to block ads, but without AdGuard slowness. Instead of acting as a local proxy server, YogaDNS acts as a DNS driver. It takes some to learn how to use it, but the end-result is excellent!
 

Boo Berry

Moderator + Beta Tester
Moderator
Personally, I've never been able to reproduce any slowness. Granted my internet speed isn't as fast as some of you guys (it's only 60/5) and my speeds are exactly the same with and without AG for Windows. I'm assuming there's a threshold that when hit, this starts to become an issue.
 

tox1c90

Beta Tester
The reason why it's slowing down is pretty simple, at least on my PC. If I have a gigabit download running, adguardsvc.exe in conjunction with the "System" process is taking 80-100% CPU utilization (on a 6-core Core i7 8700k CPU), like Adguard process ~60-70% and System process ~20-30%. You can see huge speed drops whenever it's hitting 100% or getting close to it.

If I change from WFP to TDI driver, the "System" utilization is gone, but Adguard process is now taking 80-100% itself.

The CPU utilization completely scales with transfer speed. If I limit download speed from 1 Gbit/s to 500 Mbit/s, I get half of the CPU load from Adguard and System. If I limit to 50 Mbit/s, the CPU load gets negligible small (like 1/20 of the 1Gbit/s case, i.e. 4-5%).

This is the reason why all the people with slower internet connection cannot reproduce the issue. It's just plain simple scaling of Adguards resource consumption with internet speed.

If you don't have the greatest CPU, then a simple full speed 1 Gbit/s transfer without any filtering will already take a significant hit on your CPU. If any WFP or TDI driver now inspects the traffic at this transfer rate, it will of course suffer much more.

The problem is, so to say, an "indirect" fault of Adguard. It's not like Adguard is limiting the speed itself, it's more like Adguard filtering of 1Gbit/s traffic is taking such a huge hit on the CPU that it cannot cope anymore. I never noticed a problem with internet speed as long as I had a 500 Mbit/s connection for that reason.

So I fear the only real solution would be if Adguard developers manage to cut CPU usage in half - but that sounds pretty unrealistic to me ;)

Another approach to the problem would of course be to find out why it's actually necessary to perform such excessive filtering/inspecting/whatever on an already established connection, just while the download is running. To add some confusion to the problem, I noticed that the CPU load is not the same for every source of the traffic.

If you really want the worst of the worst case I encountered so far, use:

This is really hammering my CPU at full speed when Adguard is enabled. As soon as Adguard is disabled, CPU load is gone and speed restored. With Adguard, only ~450 out of 1Gbit/s can be achieved due to CPU overload. I think this test is using dozens of parallel connections to get the best out of your line. If you manage to bring CPU usage down on this test, you might have solved the problem.

Maybe it will be absolutely fine when you upgrade to 16 core Ryzen CPU ;)
 
Last edited:

Laitinlok

New Member
The reason why it's slowing down is pretty simple, at least on my PC. If I have a gigabit download running, adguardsvc.exe in conjunction with the "System" process is taking 80-100% CPU utilization (on a 6-core Core i7 8700k CPU), like Adguard process ~60-70% and System process ~20-30%. You can see huge speed drops whenever it's hitting 100% or getting close to it.

If I change from WFP to TDI driver, the "System" utilization is gone, but Adguard process is now taking 80-100% itself.

The CPU utilization completely scales with transfer speed. If I limit download speed from 1 Gbit/s to 500 Mbit/s, I get half of the CPU load from Adguard and System. If I limit to 50 Mbit/s, the CPU load gets negligible small (like 1/20 of the 1Gbit/s case, i.e. 4-5%).

This is the reason why all the people with slower internet connection cannot reproduce the issue. It's just plain simple scaling of Adguards resource consumption with internet speed.

If you don't have the greatest CPU, then a simple full speed 1 Gbit/s transfer without any filtering will already take a significant hit on your CPU. If any WFP or TDI driver now inspects the traffic at this transfer rate, it will of course suffer much more.

The problem is, so to say, an "indirect" fault of Adguard. It's not like Adguard is limiting the speed itself, it's more like Adguard filtering of 1Gbit/s traffic is taking such a huge hit on the CPU that it cannot cope anymore. I never noticed a problem with internet speed as long as I had a 500 Mbit/s connection for that reason.

So I fear the only real solution would be if Adguard developers manage to cut CPU usage in half - but that sounds pretty unrealistic to me ;)

Another approach to the problem would of course be to find out why it's actually necessary to perform such excessive filtering/inspecting/whatever on an already established connection, just while the download is running. To add some confusion to the problem, I noticed that the CPU load is not the same for every source of the traffic.

If you really want the worst of the worst case I encountered so far, use:

This is really hammering my CPU at full speed when Adguard is enabled. As soon as Adguard is disabled, CPU load is gone and speed restored. With Adguard, only ~450 out of 1Gbit/s can be achieved due to CPU overload. I think this test is using dozens of parallel connections to get the best out of your line. If you manage to bring CPU usage down on this test, you might have solved the problem.

Maybe it will be absolutely fine when you upgrade to 16 core Ryzen CPU ;)
Yeah, my 8th gen core i5 can't even handle 1gbps on a mac bootcamp into windows, it will be slowed downed by adguard. But in a macos environment, adguard doesn't affect your internet speeds. I also tried throttle stop and max out my cpu to 3.8ghz and it doesn't help much anyways.
 

stephp

New Member
The search result page for "adguard slow" in the adguard subreddit is filled with complain about the slowness of adguard dns.

I regret I paid 25$ on social stack for a life subscription. Complain date back 1 year ago (Search for "adguard slow" in adguard subreddit).
 

Boo Berry

Moderator + Beta Tester
Moderator
AG DNS issues are likely related to geolocation. While AG DNS uses AnyCast to automatically choose the server that's closest to you, the closest server to you might be thousands of miles away. For me AG DNS was slower than Google DNS and Cloudflare DNS until around 6 months ago as they added new DNS servers. Over time I expect this to improve.

The other thing could be issues with the servers themselves. For example I know the Singapore server tends to have more issues than the rest of them (likely related to the host, not sure).

Honestly if you're using AG for Windows/Mac/Android and you want to use the DNS feature, I'd choose a known fast one like Google or Cloudflare and use that one while using DNS filtering locally on the device itself. That way you get the best of both worlds; speed and filtering/ad blocking.
 

Cister

New Member
Bob Berry,
I follow your suggestion and I switch on Google DNS and it is faster. But what the meaning of: DNS over HTTPS, Regular, DNS over TLS? The best one to take?
Thanks.
 

Boo Berry

Moderator + Beta Tester
Moderator
I personally use DNS over QUIC, but I'd use whatever works for you. Most will use regular or DNS over HTTPS. DNS over TLS works too, but since it uses its own port, it can be blocked by ISPs. So it's up to you. :)
 

d0x

Active Member
On desktop I have zero speed issues. I get nearly everything my gigabit connection offers.

On mobile Ive had speed issues but the other day I changed the mtu setting to 5000 and since then I haven't had a single thing seem to stall or take forever to load.
 
Top