How to make 150k active clients happy?

Brad Dameron Brad.Dameron at clearwire.com
Thu Jul 23 21:42:22 UTC 2009


I currently maintain some 60+ ISC DHCP servers across the US that hold from 10k to 60k active users and have done many lab tests using perl test scripts, birdseye dhcp tester and these hardware specs can handle 250k users with a 1 day lease time.
 
HP bl460c
Dual 5160 (3Ghz) procs
2 x 36GB 15k SAS drives (RAID-1)
4 GB RAM
 
I would opt for dual-core CPU's over quad cores as you can get a faster core speed and DHCP is single threaded. Also go with AMD Opterons if possible. The reason is DHCP uses a lot of hashes which really takes advantage of the fast memory access that AMD has. The faster the memory the more DHCP will be able to handle. You can work around the lease/logging IO issues later on by using the system ramdrive and copying the leases off every 30 seconds or so to a drive if needed. Probably be okay tho. You will probably see some slow startup times of DHCP. This can be fixed by applying the patch i've posted on here many times for the HASH algorithm for 3.1.x. Have not tested 4.x yet. 
 
Also note you probably won't want to use the built-in failover. We use a custom fail-over script solution with a active/backup solution as the active/active solution doesn't seem to scale to these sizes well.
 
Let me know if you have any specific questions.
 
Brad

________________________________

From: dhcp-users-bounces at lists.isc.org on behalf of Heinecke at hansenet.com
Sent: Thu 7/23/2009 9:23 AM
To: dhcp-users at lists.isc.org
Subject: How to make 150k active clients happy?


Hi,
 
I have to design a dhcp infrastructure which is good for:
~ 150k active leases
~ 2000 subnets, each a /22 network (1018 available IP's each)
- 4 days lease time
- failover is a must-have
- HP hardware running 64Bit debian lenny, 1 or 2 quad-core cpu, min. 4GB RAM) (Fast hardware ist not the problem ...)
 
And one 'special' requirement:
I have to forward agent-circuit.id, leased IP and client hardware address (mac) to a thrid party system on all events (commit|release|expiry) by issuing a http request.
Regarding this, I think of doing something like "execute('/usr/bin/wget http://1.2.3.4?ip=",param1 <http://1.2.3.4/?ip=> , param2, ....)"
 
So... what do you think? Is there a (good) chance to be successful with ISC 4.x? My feeling is that the  'execute()' call may turn out as showstopper. Any other ideas?
 
Thank's very much!
:-) Michael
 
 
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 6387 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20090723/b38aa3b1/attachment.bin>


More information about the dhcp-users mailing list