in reply to Load testing a DHCP server

I bet Net::DHCPClient::discover/request are blocking calls. If they are, there's no way you'll be able to use them to stress-test the DHCP server.

I'd recommend ripping out Net::DHCPClient::doit into a script and modify it to suit your environment. Unless you're building a generalized DHCP stress tester, you can just hardcode your MAC and whatever else you need. But the point is to be in control of sending and receiving the packets so you can send the next without waiting for any particular response (asynchronous). Then, to correlate responses with requests, you'll probably want to store information on outgoing requests in a hash. Then you index into that hash when you receive responses.

Using this low-level approach, you should be able to hammer your DHCP server pretty well and get round-trip times as well (which you'd expect to increase as your applied load increases).