Download raw body.
UDP send in parallel
On Mon, Jan 08, 2024 at 01:26:18PM +0100, Florian Obser wrote: > On 2024-01-08 13:22 +01, Otto Moerbeek <otto@drijf.net> wrote: > > On Mon, Jan 08, 2024 at 01:02:24PM +0100, Otto Moerbeek wrote: > > > >> On Mon, Jan 08, 2024 at 11:25:18AM +0100, Florian Obser wrote: > >> > >> > On 2024-01-05 23:06 +01, Alexander Bluhm <alexander.bluhm@gmx.net> wrote: > >> > > Hi, > >> > > > >> > > Sending UDP packets via datagram socket is MP safe now. Same applies > >> > > to raw IPv4 and IPv6, and divert sockets. Switch sosend() from > >> > > exclusive net lock to shared net lock in combination with per socket > >> > > lock. TCP and GRE still use exclusive net lock. > >> > > > >> > > Please test this diff if you have applications that run multithreaded > >> > > and send lots of UDP packets. > >> > > >> > So I ran dnsbench and things do not look good. > >> > >> I ran my tests wit pdns_recursor and dnsperf using 10 clients on > >> another machine (which is running debian). That might explain why I > >> did not spot a performance regression. > > I'm doing the same thing, including debian ;) > > >> > >> -Otto > > > > Specifically, I'm running dnsperf against a pdns recursor that is Lua > > scripted to sends NODATA response for any query. So no upstream > > traffic occurs, only query-answer. rec is running with 1 thread > > reading queries and 4 threads answering. > > for some reason nsd is unhappy. Do you see the queries being distributed over all nsd instances? -Otto > > > > > Patched code is much faster (amd64, on a 8 core machine). > > > > -Otto > > > > Current: > > > > Statistics: > > > > Queries sent: 2165838 > > Queries completed: 2164720 (99.95%) > > Queries lost: 1118 (0.05%) > > > > Response codes: NOERROR 2164720 (100.00%) > > Average packet size: request 38, response 38 > > Run time (s): 60.008196 > > Queries per second: 36073.738994 > > > > Average Latency (s): 0.000233 (min 0.000111, max 0.008237) > > Latency StdDev (s): 0.000043 > > > > Patched: > > > > Statistics: > > > > Queries sent: 12873279 > > Queries completed: 12873046 (100.00%) > > Queries lost: 233 (0.00%) > > > > Response codes: NOERROR 12873046 (100.00%) > > Average packet size: request 38, response 38 > > Run time (s): 60.039529 > > Queries per second: 214409.510108 > > > > Average Latency (s): 0.000356 (min 0.000133, max 0.039529) > > Latency StdDev (s): 0.000049 > > > > -- > In my defence, I have been left unsupervised.
UDP send in parallel