Performance test results for Kea

  • Generated on - 23/07/2021 13:14:42
  • Generated by - kea-dev/performance
  • Description - Automatically generated on Jenkins
  • Build id - 136
  • Latest Kea version - 1.9.8-isc0034220210524113122

Baseline performance tests results

Results presented here show the maximum throughput of Kea using:

Kea configuration

Tests here are using simplest configuration possible with default configuration.

Traffic characteristics

ISC's perfdhcp generates simple DORA/SARR exchanges without any additional options or option requests. Normally we configure perfdhcp to simulate up to 500 million different clients (to avoid repeating any client IDs in the course of a single test) unless it's stated differently in the test description.

Basic performance of memfile backend in non-persistent mode

Kea can run in a special mode, using the memfile lease backend without writing leases to disk. Everything is kept in memory (similar to keeping memfile on ramdisk).
Kea configuration, traffic specification and testing methodology is otherwise the same as with the basic test. The reason this data is presented separately is because it can't be compared with the results using the other backends. We strongly discourage people from using this mode in production because Kea will not retain information on existing leases after restarting.
Running Kea with memfile lease backend with persist option set to False is NOT RECOMMENDED!

Different Thread settings

This test measures how the different Kea backends respond to variation in the number of threads used.

Kea configuration (similar to the baseline tests)

Number of threads

Queue pool size per thread

How various ways of host reservations configurations affect Kea performance

Each test has an additional description. Set of bar charts display results comparison of single runs presented in second part of this page.

Compare performance penalty for each backend using different configuration options

All tests:

Scenario: 1. Test key words: memfile multi threading reservations default global 30 mysql v4

How 3000 (30% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 2. Test key words: memfile multi threading reservations default global 30 mysql v6

How 3000 (30% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 3. Test key words: memfile multi threading reservations default global 30 postgresql v4

How 3000 (30% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 8 threads, queue size 70 per thread

Scenario: 4. Test key words: memfile multi threading reservations default global 30 postgresql v6

How 3000 (30% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 6 threads, queue size 70 per thread

Scenario: 5. Test key words: memfile multi threading reservations default global 30 memfile v4

How 3000 (30% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 6. Test key words: memfile multi threading reservations default global 30 memfile v6

How 3000 (30% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 7. Test key words: memfile multi threading reservations default global 100 mysql v4

How 10000 (100% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 8. Test key words: memfile multi threading reservations default global 100 mysql v6

How 10000 (100% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 9. Test key words: memfile multi threading reservations default global 100 postgresql v4

How 10000 (100% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 8 threads, queue size 70 per thread

Scenario: 10. Test key words: memfile multi threading reservations default global 100 postgresql v6

How 10000 (100% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 6 threads, queue size 70 per thread

Scenario: 11. Test key words: memfile multi threading reservations default global 100 memfile v4

How 10000 (100% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 12. Test key words: memfile multi threading reservations default global 100 memfile v6

How 10000 (100% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 13. Test key words: memfile multi threading reservations default subnet 30 mysql v4

How 3000 (30% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 14. Test key words: memfile multi threading reservations default subnet 30 mysql v6

How 3000 (30% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 15. Test key words: memfile multi threading reservations default subnet 30 postgresql v4

How 3000 (30% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 8 threads, queue size 70 per thread

Scenario: 16. Test key words: memfile multi threading reservations default subnet 30 postgresql v6

How 3000 (30% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 6 threads, queue size 70 per thread

Scenario: 17. Test key words: memfile multi threading reservations default subnet 30 memfile v4

How 3000 (30% of all clients) subnet reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 18. Test key words: memfile multi threading reservations default subnet 30 memfile v6

How 3000 (30% of all clients) subnet reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 19. Test key words: memfile multi threading reservations default subnet 100 mysql v4

How 10000 (100% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 20. Test key words: memfile multi threading reservations default subnet 100 mysql v6

How 10000 (100% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 14 threads, queue size 160 per thread

Scenario: 21. Test key words: memfile multi threading reservations default subnet 100 postgresql v4

How 10000 (100% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 8 threads, queue size 70 per thread

Scenario: 22. Test key words: memfile multi threading reservations default subnet 100 postgresql v6

How 10000 (100% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 6 threads, queue size 70 per thread

Scenario: 23. Test key words: memfile multi threading reservations default subnet 100 memfile v4

How 10000 (100% of all clients) subnet reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 24. Test key words: memfile multi threading reservations default subnet 100 memfile v6

How 10000 (100% of all clients) subnet reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: None, default settings
MT settings: 4 threads, queue size 4 per thread

Scenario: 25. Test key words: memfile multi threading reservations optimized global 30 mysql v4

How 3000 (30% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 26. Test key words: memfile multi threading reservations optimized global 30 mysql v6

How 3000 (30% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 27. Test key words: memfile multi threading reservations optimized global 30 postgresql v4

How 3000 (30% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 8 threads, queue size 70 per thread

Scenario: 28. Test key words: memfile multi threading reservations optimized global 30 postgresql v6

How 3000 (30% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 6 threads, queue size 70 per thread

Scenario: 29. Test key words: memfile multi threading reservations optimized global 30 memfile v4

How 3000 (30% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 4 threads, queue size 4 per thread

Scenario: 30. Test key words: memfile multi threading reservations optimized global 30 memfile v6

How 3000 (30% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 4 threads, queue size 4 per thread

Scenario: 31. Test key words: memfile multi threading reservations optimized global 100 mysql v4

How 10000 (100% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 32. Test key words: memfile multi threading reservations optimized global 100 mysql v6

How 10000 (100% of all clients) global reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 33. Test key words: memfile multi threading reservations optimized global 100 postgresql v4

How 10000 (100% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 8 threads, queue size 70 per thread

Scenario: 34. Test key words: memfile multi threading reservations optimized global 100 postgresql v6

How 10000 (100% of all clients) global reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 6 threads, queue size 70 per thread

Scenario: 35. Test key words: memfile multi threading reservations optimized global 100 memfile v4

How 10000 (100% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 4 threads, queue size 4 per thread

Scenario: 36. Test key words: memfile multi threading reservations optimized global 100 memfile v6

How 10000 (100% of all clients) global reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 4 threads, queue size 4 per thread

Scenario: 37. Test key words: memfile multi threading reservations optimized subnet 30 mysql v4

How 3000 (30% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 38. Test key words: memfile multi threading reservations optimized subnet 30 mysql v6

How 3000 (30% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 39. Test key words: memfile multi threading reservations optimized subnet 30 postgresql v4

How 3000 (30% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 8 threads, queue size 70 per thread

Scenario: 40. Test key words: memfile multi threading reservations optimized subnet 30 postgresql v6

How 3000 (30% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 6 threads, queue size 70 per thread

Scenario: 41. Test key words: memfile multi threading reservations optimized subnet 30 memfile v4

How 3000 (30% of all clients) subnet reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 4 threads, queue size 4 per thread

Scenario: 42. Test key words: memfile multi threading reservations optimized subnet 30 memfile v6

How 3000 (30% of all clients) subnet reservations kept in memfile will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 4 threads, queue size 4 per thread

Scenario: 43. Test key words: memfile multi threading reservations optimized subnet 100 mysql v4

How 10000 (100% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 44. Test key words: memfile multi threading reservations optimized subnet 100 mysql v6

How 10000 (100% of all clients) subnet reservations kept in mysql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 14 threads, queue size 160 per thread

Scenario: 45. Test key words: memfile multi threading reservations optimized subnet 100 postgresql v4

How 10000 (100% of all clients) subnet reservations kept in postgresql will decrease performance (leases in memfile)
Reservation optimization: host-reservation-identifiers set to hw-address, and reservation out-of-pool
MT settings: 8 threads, queue size 70 per thread