Download raw body.
UDP send in parallel
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. > > 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