Advice on scaling with kea-dhcp4 in Kubernetes?
I am loadtesting a Kea DHCPv4 deployment in Kubernetes, and the objective is to reach 10000 DORA transactions per second, with 0.00% drop ratio.
Current setup:
- 10 x kea-perdhcp pods running 1000 transactions each (eg
perfdhcp -xi -t1 -r1000 -R5000 -p30 DHCPLB_CLUSTERIP) - 1 x DHCPLB pod + service (ClusterIP) in relay mode, throttling* params = 0
- N x Kea-dhcp4 pods - in-memory lease DB per pod
I scale kea-dhcp4 pods from N=1 to N=40.
Unfortunately I cannot get any kind of effective scaling past 7 pods, and the drop-ratio reaches only a minimum of ~10%. Please refer to the plot below (shows data for dhcplb container running in both privileged and unprivileged modes). I would be grateful for any suggestions, and can share more test details on request of course.

Update:
I can get the DORA drop ratio to around 1% by playing with the packet_buf_size.
For performance-testing, I set:
"throttle_cache_size": 1024,
"throttle_cache_rate": 0,
"throttle_rate": 0
as I do not want to do any throttling, but it's unclear from the docs whether throttle_cache_size has any impact on performance.
It needs to be set to a positive integer - what would be optimal for performance-testing, or does it have no impact?
Very grateful for any and all observations/comments/advice :)