Knowledge Base ISC Main Website Ask a Question/Contact ISC
Since upgrading to BIND 9.9 I'm seeing "maximum number of FD events (64) received"
Author: Cathy Almond Reference Number: AA-00716 Views: 6752 Created: 2012-07-04 10:53 Last Updated: 2012-07-04 15:21 0 Rating/ Voters

Question:

Since upgrading to BIND 9.9, I'm now seeing maximum number of FD events (64) received being logged frequently - why is this, and what should I do about it?

Answer:

An explanation of this logged message can be found in the article What does 'maximum number of FD events ... received' mean?

However, BIND 9.9.0 introduced multiple UDP listeners to improve performance, which means that in a multi-threaded BIND installation, there are effectively more sockets being monitored for client-side queries.  If you are also listening on multiple interfaces (real or virtual), this might mean that # interfaces x # UDP listeners exceeds 64.  The outcome of this is that on a busy server (particularly a busy recursive server that is also opening connections to make iterative queries of authoritative servers) that the default number of FD events is already too small.  (Future versions of BIND may increase this default)

To prevent this message from being logged constantly, you can increase the default number of events when you build BIND.  See What does 'maximum number of FD events ... received' mean? for information on how to do this.

Another way to reduce the frequency of these messages is to reduce the number of UDP listeners when starting named, particularly if running on a server that has a large number of CPUs (actual or virtual).  This is achieved using the new -U option.  For example:

named -U 8

Tuning considerations for multiple UDP listeners on BIND 9.9

When the number of CPUs is very large (32 or more), the increase in UDP listeners may not provide any performance improvement and might actually reduce throughput slightly due to the overhead of the additional structures and tasks.  We suggest trying different values of -U to find the optimal one for your production environment.


Tuning considerations when migrating to BIND 9.9 with multiple server sockets configured

Some production environments may already have increased server throughput for serving clients by adding additional interfaces (virtual or real).  In that situation, the new 9.9 multi-threaded I/O is serving the same purpose.  It would be worth considering whether or not multiple interfaces are needed any longer - particularly where they are virtual-only.


© 2001-2017 Internet Systems Consortium

For assistance with problems and questions for which you have not been able to find an answer in our Knowledge Base, we recommend searching our community mailing list archives and/or posting your question there (you will need to register there first for your posts to be accepted). The bind-users and the dhcp-users lists particularly have a long-standing and active membership.

ISC relies on the financial support of the community to fund the development of its open source software products. If you would like to support future product evolution and maintenance as well having peace of mind knowing that our team of experts are poised to provide you with individual technical assistance whenever you call upon them, then please consider our Professional Subscription Support services - details can be found on our main website.

Feedback
  • There is no feedback for this article
Quick Jump Menu