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)