<html><head></head><body>Does this only happen with DoH frontends? Did you try with UDP frontends as well? Sounds like a bottleneck on your backends imo.<br><br>Winfried<br><br><br><div class="gmail_quote">Am 23. Juli 2021 13:32:39 MESZ schrieb Yannis via Pdns-users <pdns-users@mailman.powerdns.com>:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">hello,<br><br>We're using dnsdist (1.5.1 on Ubuntu 20.04, 16 cores, 32GB RAM) as a DoH <br>proxy/LB with normal DNS/53 resolvers as backend. This is a test <br>installation and we're trying to figure out the performance. It can <br>barely handle 1.5k QpS, which I consider pretty low (each backend <br>resolver can easily handle >60k QpS). It seems that each time the <br>queries rate is higher than ~1.5k, all backend servers are marked "DOWN" <br>until the rate goes below 1k. I understand that dnsdist marks the <br>servers down because it's not receiving a response on its healthcheck <br>query and I wonder why.<br><br>Should I increase "checkTimeout" and "checkInterval"? Should I use a <br>large number for "sockets"? Am I missing other tuning options or maybe <br>something more important?<br><br>Here's the relevant config (addresses, etc changed)<br><br>setLocal('0.0.0.0:5300')<br>addLocal('[::1]:5300')<br>controlSocket('local_public_address:xxxx')<br>setKey("XXX")<br>setConsoleACL('x.x.x.x/24')<br>NotRule(MaxQPSRule(50000))<br>setMaxUDPOutstanding(65535)<br>setMaxTCPClientThreads(128)<br>setMaxTCPQueuedConnections(10000)<br>setMaxTCPConnectionDuration(600)<br>PrimaryCache = newPacketCache(30000000, { keepStaleData=true, <br>maxTTL=86400, minTTL=0, numberOfShards=8, maxNegativeTTL=600, staleTTL=60 })<br>getPool(""):setCache(PrimaryCache)<br>addDOHLocal('10.2.3.4', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('10.2.3.4', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('10.2.3.4', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('10.2.3.4', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('2001:DB8::443', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('2001:DB8::443', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('2001:DB8::443', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>addDOHLocal('2001:DB8::443', 'cert.pem', 'key.key', "/dns-query", { <br>reusePort=true, minTLSVersion='tls1.2' })<br>newServer({address="2001:DB8::62", qps=10000})<br>newServer({address="2001:DB8::61", qps=10000})<br>newServer({address="2001:DB8::60", qps=10000})<br>newServer({address="2001:DB8::59", qps=10000})<br>newServer({address="2001:DB8::58", qps=10000})<br>newServer({address="2001:DB8::57", qps=10000})<br>newServer({address="2001:DB8::56", qps=10000})<br>newServer({address="2001:DB8::55", qps=10000})<br>newServer({address="2001:DB8::48", qps=10000})<br>newServer({address="2001:DB8::47", qps=10000})<br>newServer({address="10.10.10.62", qps=10000})<br>newServer({address="10.10.10.61", qps=10000})<br>newServer({address="10.10.10.60", qps=10000})<br>newServer({address="10.10.10.59", qps=10000})<br>newServer({address="10.10.10.58", qps=10000})<br>newServer({address="10.10.10.57", qps=10000})<br>newServer({address="10.10.10.56", qps=10000})<br>newServer({address="10.10.10.55", qps=10000})<br>newServer({address="10.10.10.48", qps=10000})<br>newServer({address="10.10.10.47", qps=10000})<br>setServerPolicy(roundrobin)<br><br>thanks in advance, I'd appreciate any input :)<hr>Pdns-users mailing list<br>Pdns-users@mailman.powerdns.com<br><a href="https://mailman.powerdns.com/mailman/listinfo/pdns-users">https://mailman.powerdns.com/mailman/listinfo/pdns-users</a><br></pre></blockquote></div></body></html>