Reducing select() usage under load

Miek Gieben miek at
Wed May 24 12:48:22 UTC 2006

[On 12 May, @12:41, Aaron Hopkins wrote in "Reducing select() usage under  ..."]
> NSD currently only processes one UDP packet per socket per select().  Since
> select() is kind of expensive, under load this means it burns a lot of CPU
> unnecessarily.


Thanks for your patches. The speed improvements you see are impressive.

We are however rather reluctant to apply the select()-patch to NSD at
this moment:

We've tested the speed improvements in our DISTEL testlab and
we did see some gain, but not the amount of improvement you noticed.

However, it could be this is because we are filling the 100Mb
interfaces. We will therefore upgrade the testlabs hardware to a 1Gb network.
Once we have finalized the measurements we'll produce the result on this list.

If the differences are not very significant we are hesitant to code
around the use of select() because of principles of code simplicity
and portability.

  - Miek    
  PGP: 6A3C F450 6D4E 7C6B C23C  F982 258B 85CF 3880 D0F6
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 191 bytes
Desc: Digital signature
URL: <>

More information about the nsd-users mailing list