Skip to content

Expiremember on large htables globally affects the keydb response time #295

Description

@freecod

Describe the bug
KeyDB v6.0.16

When a tangible number of records with the ttl set using the expiremember is added to the htable (500k at the demo stand), the keydb practically stops responding to requests (3k rps at the demo stand), and does not even interrupt them due to timeout.

When using the usual "expire" command - there are no problems with any number of entries with ttl.

perf top shows the following information on keydb:

56.08% keydb-server [.] fastlock_lock
16.63% keydb-server [.] keyIsExpired

profiling graph (collected at a different moment)
keydb

Log Files
There is no information in the logs about this problem

To Reproduce

  1. Add htable
  2. Add entries and set ttl for each using the expiremember command
  3. Observe the drop in the overall performance of keydb and the increase in response time from a certain number of records in the table

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions