Index | Thread | Search

From:
Alexander Bluhm <alexander.bluhm@gmx.net>
Subject:
Re: UDP send in parallel
To:
Otto Moerbeek <otto@drijf.net>, tech@openbsd.org
Date:
Wed, 10 Jan 2024 00:48:08 +0100

Download raw body.

Thread
Hi Florian,

I have repeated your tests.  Client was Linux, nsd running on OpenBSD
with interface ixl 10 GBit.

I had to tune a few things.

dnsperf was idling.  When packets were lost, it was waiting and
running into timeouts.  The options -t 0.5 -q 1000 have fixed this.

Then nsd hit some rate limit.  rrl-ratelimit: 0 fixed this.

Without patch:

1 client(s) for 120s
Statistics:

  Queries sent:         3227517
  Queries completed:    3205187 (99.31%)
  Queries lost:         22330 (0.69%)

  Response codes:       NOERROR 3205187 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.022241
  Queries per second:   26704.942128

  Average Latency (s):  0.033894 (min 0.000269, max 0.060909)
  Latency StdDev (s):   0.007033

2 client(s) for 120s
Statistics:

  Queries sent:         3172874
  Queries completed:    3153564 (99.39%)
  Queries lost:         19310 (0.61%)

  Response codes:       NOERROR 3153564 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.017205
  Queries per second:   26275.932688

  Average Latency (s):  0.034950 (min 0.000204, max 0.064919)
  Latency StdDev (s):   0.006970

4 client(s) for 120s
Statistics:

  Queries sent:         2957082
  Queries completed:    2936696 (99.31%)
  Queries lost:         20386 (0.69%)

  Response codes:       NOERROR 2936696 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.020770
  Queries per second:   24468.231624

  Average Latency (s):  0.037364 (min 0.000396, max 0.071416)
  Latency StdDev (s):   0.007801

8 client(s) for 120s
Statistics:

  Queries sent:         2904008
  Queries completed:    2884021 (99.31%)
  Queries lost:         19987 (0.69%)

  Response codes:       NOERROR 2884021 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.023641
  Queries per second:   24028.774465

  Average Latency (s):  0.038088 (min 0.000477, max 0.072635)
  Latency StdDev (s):   0.007863

10 client(s) for 120s
Statistics:

  Queries sent:         2903668
  Queries completed:    2885793 (99.38%)
  Queries lost:         17875 (0.62%)

  Response codes:       NOERROR 2885793 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.020118
  Queries per second:   24044.243982

  Average Latency (s):  0.038434 (min 0.000666, max 0.069927)
  Latency StdDev (s):   0.007750

1 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         3164221
  Queries completed:    3142602 (99.32%)
  Queries lost:         21619 (0.68%)

  Response codes:       NOERROR 3142602 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.019456
  Queries per second:   26184.104684

  Average Latency (s):  0.034711 (min 0.000322, max 0.062194)
  Latency StdDev (s):   0.006918

2 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         3093913
  Queries completed:    3075364 (99.40%)
  Queries lost:         18549 (0.60%)

  Response codes:       NOERROR 3075364 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.021567
  Queries per second:   25623.428163

  Average Latency (s):  0.035943 (min 0.000225, max 0.064438)
  Latency StdDev (s):   0.007203

4 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         3036341
  Queries completed:    3019280 (99.44%)
  Queries lost:         17061 (0.56%)

  Response codes:       NOERROR 3019280 (100.00%)
  Average packet size:  request 41, response 708
  Run time (s):         120.021467
  Queries per second:   25156.166438

  Average Latency (s):  0.036873 (min 0.000309, max 0.065962)
  Latency StdDev (s):   0.007325

8 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         2874645
  Queries completed:    2854016 (99.28%)
  Queries lost:         20629 (0.72%)

  Response codes:       NOERROR 2854016 (100.00%)
  Average packet size:  request 41, response 708
  Run time (s):         120.019459
  Queries per second:   23779.610605

  Average Latency (s):  0.038397 (min 0.000289, max 0.078476)
  Latency StdDev (s):   0.008151

10 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         2900660
  Queries completed:    2881717 (99.35%)
  Queries lost:         18943 (0.65%)

  Response codes:       NOERROR 2881717 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.021588
  Queries per second:   24009.988936

  Average Latency (s):  0.038323 (min 0.000786, max 0.070126)
  Latency StdDev (s):   0.007967

With patch:

1 client(s) for 120s
Statistics:

  Queries sent:         4876706
  Queries completed:    4835202 (99.15%)
  Queries lost:         41504 (0.85%)

  Response codes:       NOERROR 4835202 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.008427
  Queries per second:   40290.520598

  Average Latency (s):  0.020474 (min 0.000197, max 0.037249)
  Latency StdDev (s):   0.003392

2 client(s) for 120s
Statistics:

  Queries sent:         5333880
  Queries completed:    5291383 (99.20%)
  Queries lost:         42497 (0.80%)

  Response codes:       NOERROR 5291383 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.017653
  Queries per second:   44088.372566

  Average Latency (s):  0.018545 (min 0.000236, max 0.040967)
  Latency StdDev (s):   0.003340

4 client(s) for 120s
Statistics:

  Queries sent:         4774984
  Queries completed:    4740127 (99.27%)
  Queries lost:         34857 (0.73%)

  Response codes:       NOERROR 4740127 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.012948
  Queries per second:   39496.796629

  Average Latency (s):  0.021574 (min 0.000214, max 0.044003)
  Latency StdDev (s):   0.003443

8 client(s) for 120s
Statistics:

  Queries sent:         4570219
  Queries completed:    4540163 (99.34%)
  Queries lost:         30056 (0.66%)

  Response codes:       NOERROR 4540163 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.016320
  Queries per second:   37829.546848

  Average Latency (s):  0.023047 (min 0.000218, max 0.043848)
  Latency StdDev (s):   0.003457

10 client(s) for 120s
Statistics:

  Queries sent:         4483909
  Queries completed:    4453033 (99.31%)
  Queries lost:         30876 (0.69%)

  Response codes:       NOERROR 4453033 (100.00%)
  Average packet size:  request 30, response 348
  Run time (s):         120.018514
  Queries per second:   37102.883977

  Average Latency (s):  0.023412 (min 0.000179, max 0.050242)
  Latency StdDev (s):   0.003542

1 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         6182006
  Queries completed:    6142622 (99.36%)
  Queries lost:         39384 (0.64%)

  Response codes:       NOERROR 6142622 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.016841
  Queries per second:   51181.333793

  Average Latency (s):  0.016164 (min 0.000203, max 0.121570)
  Latency StdDev (s):   0.003032

2 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         4606622
  Queries completed:    4566123 (99.12%)
  Queries lost:         40499 (0.88%)

  Response codes:       NOERROR 4566123 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.010458
  Queries per second:   38047.709142

  Average Latency (s):  0.021809 (min 0.000206, max 0.042266)
  Latency StdDev (s):   0.003622

4 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         4405049
  Queries completed:    4371028 (99.23%)
  Queries lost:         34021 (0.77%)

  Response codes:       NOERROR 4371028 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.019519
  Queries per second:   36419.309429

  Average Latency (s):  0.023508 (min 0.000205, max 0.041420)
  Latency StdDev (s):   0.003575

8 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         4543900
  Queries completed:    4513483 (99.33%)
  Queries lost:         30417 (0.67%)

  Response codes:       NOERROR 4513483 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.015983
  Queries per second:   37607.349348

  Average Latency (s):  0.023153 (min 0.000257, max 0.044908)
  Latency StdDev (s):   0.003653

10 client(s) for 120s with DO bit set
Statistics:

  Queries sent:         4902997
  Queries completed:    4870271 (99.33%)
  Queries lost:         32726 (0.67%)

  Response codes:       NOERROR 4870271 (100.00%)
  Average packet size:  request 41, response 709
  Run time (s):         120.020385
  Queries per second:   40578.698360

  Average Latency (s):  0.021165 (min 0.000216, max 0.045527)
  Latency StdDev (s):   0.003578

So it is about 1.5 times faster.

bluhm