tuning for maximum dhcp performance

Dan dan at telcohero.com
Fri Apr 25 18:00:56 UTC 2008

I'm currently constructing a replacement for an old Cisco Network 
Registrar setup serving about 20,000 nodes (10,000 with 24hr leases, 
10,000 with 7day leases).

I'm running Linux 2.6.22 using ISC DHCPd 3.0.5 with dhcp-3.0.5-ldap-patch 
and dhcp-3.0.5-next-file.patch.  I hope to use failover between the 2 
servers, but haven't worked on that yet.

As stated time and again, the software will not be the bottleneck. Using 
dhcpref's discovery benchmark, I'm seeing about 80 clients/second right 
now with my new hardware (ping-check off).  When I disable the per-lease 
fsync or move the dhcpd.leases file to ramdisk, it jumps to well over 400 
clients/second limited by CPU.

My hardware is 2 servers with the following spec:
   Dell PowerEdge 2970
   Dual-core 2Ghz 64bit AMD
   4G RAM
   10k RAID1 System Drives
   15k RAID10 Storage Drives (just for dhcpd.leases file)

Do anyone have any pointers on running a system like this and achieving 
maximum dhcp performance?

Some factors that come to mind are:
   -Other patches I should/could be using?
   -Raid stripe element size, read-ahead, and write-back?
      (currently 64Kb, no, and yes)
   -Filesystem choice for dhcpd.leases file?
      (ext3, reiserfs, xfs, jfs -- currently resierfs)
   -Filesystem parameters to tune?
   -Kernel parameters to tune?

Having a better understanding about how DHCPd works with the dhcpd.leases 
file might give me some of the answers to these questions also.

Any information or shared experiences would be greatly appreciated.



More information about the dhcp-users mailing list