Skip to content

Dynamic period table capacity adjustment #464

Closed
@awh

Description

@awh

During the period from midnight to midnight + max chunk age, newly matured chunks require 2x the number of index entries to be written to the period tables because their contents span two day buckets. Provisioned capacity must be sized to cope with this nightly spike or the series flush queues start to back up:

screenshot from 2017-06-19 10-56-08
screenshot from 2017-06-19 10-56-31

However, doing so means that capacity is over-provisioned for the noon to midnight period. The table manager can be enhanced to step the capacity up automatically before midnight, and back down again after noon.

Activity

tomwilkie

tomwilkie commented on Jun 19, 2017

@tomwilkie
Contributor

Dupe of #318? @leth added metrics on per-tables used capacity in #460, which is the first step in dynamically adjusting provisioning.

leth

leth commented on Jun 19, 2017

@leth
Contributor

The scope of this could be a bit smaller; just focused on the midnight rollover, rather than general capacity?

tomwilkie

tomwilkie commented on Jun 19, 2017

@tomwilkie
Contributor

Thats up to the person who implements it I guess! I personally don't see how just focusing on the time around midnight make is much easier.

awh

awh commented on Jun 19, 2017

@awh
ContributorAuthor

I suspect the solution for #318 will be far more complex than adding if time > midnight & time < noon activeCapacity *= 2 to the table manager...

bboreham

bboreham commented on Feb 5, 2018

@bboreham
Contributor

Do we still need this issue now autoscaling is supported?

Edit: AWS autoscaling does nothing at all when you're not using the table, so we currently still have the problem that the table is over-provisioned from when it is created until when we really need it.

bboreham

bboreham commented on Sep 6, 2018

@bboreham
Contributor

I think the new metrics-based scaling in table-manager is coping ok with this, so closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @leth@tomwilkie@awh@bboreham

        Issue actions

          Dynamic period table capacity adjustment · Issue #464 · cortexproject/cortex