Replies: 2 comments 67 replies
-
It's impossible to be sure without seeing your actual full configuration, but I expect the performance impact is coming from the high number of rules you are defining. The way it works is that rules are evaluated one by one, so doing 5000 DNS suffixes comparison is going to hurt. If you are using the same target for all domains you can replace these 5000 by a single mySMN = newSuffixMatchNode()
-- add a single name, you would need to do this for all the domains you want to match
mySMN:add(newDNSName("powerdns.com."))
addAction(SuffixMatchNodeRule(mySMN), SpoofCNAMEAction("target")) If you need to have different targets based on the domain that was matched, I would advise looking at the Key-Value stores supported by dnsdist (CDB and LMDB): https://www.dnsdist.org/reference/kvs.html This would also make it a lot easier to handle updates to your list, since KVS can be automatically reloaded. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the fast response
I precise that i run under 6.8.0 kernel with some tuning with sysctl value |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I've been experimenting with dnsdist 2.0.0-alpha1, trying to use SpoofCNAMEAction under high traffic conditions, but it's not working as expected.
Specifically, with around 5,000 rules like the one below:
I observe a significant performance drop.
Without any rules, my server can handle up to 1 million requests per second. However, with the spoofing rules in place, the throughput drops to around 100,000 requests per second.
My question is: What would be the best approach to efficiently spoof CNAME responses under heavy load in dnsdist?
Do you have any suggestions or best practices for handling this kind of scenario?
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions