Kea Sprint Planning Meeting - 16 July 2012



Review of Previous Sprint

Only two tasks completed (#1651, #1957), owing to time spent on other important (non-Kea) work.

Currently in review are:

  • #1648 - awaiting Stephen to add a section about DDNS
  • #1708 - awaiting Tomasz to address review comments
  • #2041 - awaiting review
  • #2042 - awaiting review

Interim report on Performance Tests

The last two tasks (#2041 and #2042) relate to investigations of performance of different lease store options. Tomasz gave a quick summary of findings so far:

The benchmarks are standardised for the different options and comprise four parts:

  1. add new lease
  2. find leases (90% found, 10% missed)
  3. updating a lease
  4. deleting a lease

The disks used were standard 7200 RPM hard disk drives. This is 120 RPS: assuming it takes two revolutions of a disk to update a lease (one to write the data, the other to update the inode), we expect a maximum of 60 leases/second if we force a flush to disk after every lease.

MySql offers two engines, MyISAM and InnoDB.

With InnoDB in full transaction mode (one commit per lease), throughput was 10-12 leases/second. Using MyISAM (with no commits) gave 10k-11k leases/second. (It was agreed that this must be asynchronous, so there is no guarantee the lease is persistently stored before the ACK is issued.)

In synchronous mode gave a figure of 10-15 leases/second. In asynchronous mode, that was up to 27k-41k leases/second.

General Discussion
Tomasz was of the opinion that we should just let the user decide whether to go for safe or fast. Stephen was more of the opinion that we needed a delayed-ack style of server.

Alternatively, the server should pre-allocate a block of leases in the database, updating them with real lease information as and when it can. if the server crashed and came back up, addresses in the preallocated range would not be made available until they timed out, with renewal requests for leases in that range being refused. That way, the worst-case scenario is that a block of addresses is unavailable until the leases time out.

Action: Stephen - add the need for integrity to a list of requirements.


Stephen and Tomasz will be attending IETF-84 for a week in July/August. Neither Marcin, Stephen nor Tomasz have holidays planned in this sprint.

Tasks for coming sprint

For the perfdhcp work, the existing tasks in the sprint = #1958, #1959 and #1960 seem sufficient.

For Kea, we need to add some new tasks:

  • #2140 - Abstract lease database API. (This is likely to be just the header file.)
  • #2141 - Implementation of non-database logic
  • #2142 - Design (and creation script) of SQL lease database
Last modified 6 years ago Last modified on Jul 17, 2012, 5:22:03 PM