TechnitiumSoftware / DnsServer

Technitium DNS Server
https://technitium.com/dns/
GNU General Public License v3.0
3.86k stars 401 forks source link

how many qps? timeouts.. #778

Closed bcookatpcsd closed 4 months ago

bcookatpcsd commented 7 months ago

I currently have Technetium behind Coredns.. as we do a lot of dns here..

Coredns baremetal machine, Technitium docker on the same machine.

I'll say it was 10 minutes of activity.. The graph will also show time..

hs1

 grep -c timeout /var/log/coredns/*
/var/log/coredns/@4000000065523b0d04485dec.s:0
/var/log/coredns/@4000000065523f1c37182234.s:1
/var/log/coredns/@4000000065524af809073dbc.s:1
/var/log/coredns/@4000000065524ed91e972b4c.s:0
/var/log/coredns/@4000000065525aa53a166644.s:0
/var/log/coredns/@4000000065525f0b19d8999c.s:143
/var/log/coredns/@4000000065525670042c0804.s:3
/var/log/coredns/@40000000655252970227eeec.s:0
/var/log/coredns/@40000000655243013185835c.s:1
/var/log/coredns/@400000006552471413737824.s:0
/var/log/coredns/current:262

cl1

 grep -c timeout /var/log/coredns/*
/var/log/coredns/@4000000065523c0f27198b5c.s:0
/var/log/coredns/@4000000065524d0700acfb34.s:0
/var/log/coredns/@4000000065525e28171a5844.s:3
/var/log/coredns/@40000000655237d816e33314.s:3
/var/log/coredns/@40000000655248b017e4a554.s:0
/var/log/coredns/@40000000655250e737ebf0dc.s:0
/var/log/coredns/@40000000655254ee39ba2ce4.s:0
/var/log/coredns/@400000006552445f2c47ee0c.s:0
/var/log/coredns/@400000006552596f3921e86c.s:3
/var/log/coredns/@40000000655240520f12834c.s:1
/var/log/coredns/current:324

(for example)

[ERROR] plugin/errors: 2 mmonit.int.dom. A: read udp 10.20.32.100:23177->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 mmonit.int.dom. A: read udp 10.20.32.100:18583->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 mmonit.int.dom. A: read udp 10.20.32.100:25415->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 mmonit.int.dom. A: read udp 10.20.32.100:33472->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 mmonit.int.dom. A: read udp 10.20.32.100:42750->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 relay.pcsd.adm.int.dom. A: read udp 10.20.32.100:61989->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 vcsa.int.dom.local. A: read udp 10.20.32.100:16662->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 vcsa.int.dom.local. A: read udp 10.20.32.100:12459->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 proxy.int.dom. A: read udp 10.20.32.100:13618->10.20.1.105:53: i/o timeout
[ERROR] plugin/errors: 2 relay.int.dom. A: read udp 10.20.32.100:34803->10.20.1.105:530: i/o timeout
[ERROR] plugin/errors: 2 stun.syncthing.net.int.dom. A: read udp 10.20.32.100:25350->10.20.1.105:530: i/o timeout
[ERROR] plugin/errors: 2 stun.syncthing.net.int.dom. A: read udp 10.20.32.100:36734->10.20.1.105:530: i/o timeout
[ERROR] plugin/errors: 2 vcsa.int.dom.local. A: read udp 10.20.32.100:40833->10.20.1.105:530: i/o timeout

10.20.1.105:530 and 10.20.1.105:53 was the Technitium docker instance..

[I] root@hs-ap-alpn ~# ss -nlp | grep dotnet
u_str LISTEN 0      255                                             /tmp/dotnet-diagnostic-1-356214964-socket 201785642              * 0    users:(("dotnet",pid=22130,fd=9))
udp   UNCONN 0      0                                                                                 0.0.0.0:530              0.0.0.0:*    users:(("dotnet",pid=22130,fd=209))
tcp   LISTEN 0      512                                                                               0.0.0.0:5380             0.0.0.0:*    users:(("dotnet",pid=22130,fd=208))
tcp   LISTEN 0      100                                                                               0.0.0.0:530              0.0.0.0:*    users:(("dotnet",pid=22130,fd=210))

[I] root@hs-ap-alpn ~# cat /proc/22130/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             unlimited            unlimited            processes
Max open files            1048576              1048576              files
Max locked memory         8388608              8388608              bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       30815                30815                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

This is an Alpine 6.1.55-lts with 12 cores; bare metal.. Again docker running Technitium

image

the 57.89 host is a Win10 machine and the 58.125 is an Intel Chromebook

10.120.57.89    c0:3c:59:b0:de:25  active   2023/11/13 12:25:30  2023/11/13 16:25:30  3:30:58                  Vlan512

10.120.58.125   70:cf:49:7f:78:03  active   2023/11/13 11:34:34  2023/11/13 15:34:34  2:39:43                  Vlan512   CHRMBK-5CD11xyz123

I'm open to questions, etc..

Thank you in advance..

ShreyasZare commented 7 months ago

Thanks for the details. I am not sure of the exact issue that you are mentioning. Do you have QPS option configured? If yes then it will cause dropping of requests once a client hits the limit. The requests would also be dropped not just for the client but the entire /24 network as per the default settings.