You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitry Pavlov (Jira)" <ji...@apache.org> on 2022/09/09 16:37:00 UTC

[jira] [Updated] (IGNITE-16582) Improve behavior of speed-based throttling when dirty pages ratio is low

     [ https://issues.apache.org/jira/browse/IGNITE-16582?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dmitry Pavlov updated IGNITE-16582:
-----------------------------------
    Release Note: Improved behavior of the speed-based throttling when a dirty-page ratio is low.  (was: Improved behavior of speed-based throttling when dirty pages ratio is low.)

> Improve behavior of speed-based throttling when dirty pages ratio is low
> ------------------------------------------------------------------------
>
>                 Key: IGNITE-16582
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16582
>             Project: Ignite
>          Issue Type: Improvement
>          Components: persistence
>    Affects Versions: 2.12
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>             Fix For: 2.14
>
>          Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> There is a log:
> {{Throttling is applied to page modifications [}}
> percentOfPartTime=0.59, 
> markDirty=7424 pages/sec, 
> checkpointWrite=6268 pages/sec, 
> estIdealMarkDirty=0 pages/sec, 
> curDirty=0.00, 
> maxDirty=0.24, 
> avgParkTime=79770 ns, 
> {{pages: (total=67085, evicted=0, written=40916, synced=0, cpBufUsed=3, cpBufTotal=518215)]}}
> Here, it can be seen that, although there are plenty of non-dirty pages, throttling is applied. This happens because our speed-based throttling has 2 algorithms for protecting non-dirty pages from exhaustion:
>  # A more complex one that computes max allowable dirty ratio and ideal marking speed and throttles when both dirty ratio and current marking speed surpass these values
>  # A simpler one that throttles if the current marking speed is higher than the average checkpointing speed
> In the shown example the first algorithm does not throttle, but the second one does.
> It looks like the throttling is enabled too early.
> One way to solve this problem is to just disable the second algorithm as the first seems to be more adequate (but this needs careful consideration of all possible cases).
> Another way is to consider averaged marking speed instead of (or in addition to) the current marking speed when deciding whether to throttle or not.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)