Opened 2 years ago

Last modified 2 years ago

#3925 new defect

perfdhcp can't simulate more than ~60k clients?

Reported by: stephen Owned by:
Priority: medium Milestone: Outstanding Tasks
Component: perfdhcp Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

Use of perfdhcp during recent testing suggested that it can't simulate more than about 60,000 clients. This needs to be checked and, if true, fixed.

Subtickets

Change History (8)

comment:1 Changed 2 years ago by marcin

Which testing does it come from? The number of clients is held in perfdhcp as 32-bit unsigned value so it is rather ~4 * 109.

comment:2 Changed 2 years ago by fdupont

If you don't vary the address you are limited by the number of ports so ~65000. Note as perfdhcp uses the standard TCP/IP stack it is not easy to vary the address in particular in IPv4. Another point: the easiest way to vary the address is to launch multiple perfdhcp processes in parallel.
Of course the limit is for simultaneous clients so if the idea is to test large lease tables there is no problem.

comment:3 follow-up: Changed 2 years ago by tomek

One easy way to dodge any address tricks is to simulate all packets coming in from a relay. In principle, you can have an arbitrary number of clients connecting through a single relay.

comment:4 in reply to: ↑ 3 Changed 2 years ago by fdupont

Replying to tomek:

One easy way to dodge any address tricks is to simulate all packets coming in from a relay. In principle, you can have an arbitrary number of clients connecting through a single relay.

=> yes of course it is an efficient way to vary addresses... I am afraid it is a major change to what it tested too.
BTW as far as I can remember there is no direct support of relayed messages in the code (I wrote direct because the template mechanism is able to simulate it. Perhaps we should add this item in the template doc ticket? (PS: #3900)

About the perfdhcp history: it was developed from a customer request. John Dubois did the requirements but entered hospital to never come back before the design phase. I was called to write the code within a 2 week deadline. This explained both why I know well the black magic of tuning perfdhcp parameters and why the perfdhcp documentation is a bit limited. BTW the perftcpdns was derived from the perfdhcp original code with even more black magic but a paper and a presentation at DNS OARC.

comment:5 Changed 2 years ago by hschempf

  • Milestone changed from Kea-proposed to Kea1.0

comment:6 Changed 2 years ago by fdupont

I removed my comment about ports (it applies to DNS perf tests but not to DHCP). So the question is still open: what is the issue and where could it come from?

comment:7 Changed 2 years ago by hschempf

  • Milestone changed from Kea1.0 to DHCP Outstanding Tasks

comment:8 Changed 2 years ago by tomek

  • Milestone changed from DHCP Outstanding Tasks to Outstanding Tasks

Milestone renamed

Note: See TracTickets for help on using tickets.