Kea Performance

Testing setup

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.

Hardware specs - R340 server

OS details, software versions

Tests were executed using:

Kea Multithreading Performance Test

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 configuration

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.

Clients behaviour

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.

Traffic generator

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

Lessons learned

Disclaimers

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.