Testing is done in ISC's internal network using 3 systems. Two are running Kea and database backends (specs below) and one is running perfdhcp, all three are connected in one VLAN using 1 gigabit ethernet network.
Tests were executed using:
The above charts show the results of performance testing of Kea after multithreading was enabled in version 1.7.6. The test is documented more fully in this knowlegebase article: https://kb.isc.org/docs/kea-performance-tests-17-multithreading
Kea is configured with one subnet, that has just one pool, without any host reservations, client classes or options.
Everywhere we can, we are using default values (e.g. lease reclamation process).
Valid lifetime of leases are longer than duration of each test.
There are no releases/renews/rebinds only basic 4 message exchange (SARR and DORA).
Each client perform exchange just once.
Messages do not include any additional options except those necessary to get an address from DHCP server.
For all tests we are using traffic generator that was developed by ISC and which is available in Kea sources/packages - perfdhcp
We encourage to visit KEA ARM for more details
Performance testing results are volatile, multiple factors must be taken into account e.g.: hardware, OS type, network, database location (local, remote), compilation CXX flags etc.
Results shown in this report are what we were able to get inside our testing network - those are NOT, by any means, predictive of what you will see in production.
The Kea development team takes performance and stability very seriously - please report on kea-users mailing lists any irregularities you observed inside your network.