Reducing select() usage under load

Aaron Hopkins lists at
Wed May 24 18:12:48 UTC 2006

On Wed, 24 May 2006, Miek Gieben wrote:

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

Which OS were you testing on, by chance?  The numbers I mentioned were for
Linux 2.4, but I've since tested on Linux 2.6 and found the patch offering
less of an improvement.  The patch will matter more on OSes where select()
is more expensive.

> 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 your lab has several common Unix-ish OSes available, perhaps with
supported IP checksum offload network cards, be sure to test on several.

I'm very pleased with NSD's ability to fill 100 megabit interfaces.  At
least in my application, though, I'm interested in creating nameserver
clusters that can handle several gigs of traffic.  I realize this isn't

> 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.

Of course.

                                     -- Aaron

More information about the nsd-users mailing list