ISC DHCP limitation observed while load testing with dhcperf

Simon Hobson dhcp1 at thehobsons.co.uk
Thu May 30 15:30:19 UTC 2013


Amit Jathar wrote:
> Also let me know if I can do any kind of optimization to achieve more TPS.

This has been covered quite a few times on this list over the years. There are many potential bottlenecks with DHCPD, most of them external - and usually disk related.

First off, look at your logging. Most syslog setups default to synchronous logging, which means every log message is synced to disk - and DHCPD writes (generally) at least 2 log messages per request received. So first step is to reconfigure syslog for async logging, then it can buffer the logs and write them in batches.

So having reduced the disk accesses from syslog, you should find that your transaction rate improves. The next likely rate is from syncing a record to the leases file before offering/acking an IP. Here it's a matter of ensuring that your disk system is as efficient as it can be. If your leases file is on a raid5 volume then each write can require 2 reads and 2 writes minimum - unless using hardware raid, with battery backed cache, and write-back cache enabled, in which case that is hidden. Depending what else the system is doing, putting the leases file on it's own disk may improve latency, and hence throughput, significantly.

And lastly, ensure that your system has enough ram, so that it doesn't start swapping anything out. Swapping is a real performance killer - not only because fo the difference in latency between in-memory access and disk access - but also because it adds to the disk I/O and destroys latency for normal disk traffic.

There are people serving 10s of thousands of clients with DHCPD, work out the potential transaction rate with that !


More information about the dhcp-users mailing list