[
https://issues.apache.org/jira/browse/IGNITE-16582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516637#comment-17516637
]
Ignite TC Bot commented on IGNITE-16582:
----------------------------------------
{panel:title=Branch: [pull/9924/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9924/head] Base: [master] : New Tests
(5)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}PDS 5{color} [[tests
1|https://ci.ignite.apache.org/viewLog.html?buildId=6497936]]
* {color:#013220}IgnitePdsTestSuite5:
SpeedBasedThrottleIntegrationTest.speedBasedThrottleShouldBeActivatedWhenNeeded
- PASSED{color}
{color:#00008b}PDS (Unit Tests){color} [[tests
4|https://ci.ignite.apache.org/viewLog.html?buildId=6497893]]
* {color:#013220}IgnitePdsUnitTestSuite:
IgniteThrottlingUnitTest.shouldNotThrottleWhenWritingFasterThanCPSpeedButThereAreManyCleanPages
- PASSED{color}
* {color:#013220}IgnitePdsUnitTestSuite:
IgniteThrottlingUnitTest.doNotThrottleWhenDirtyPagesRatioIsTooHigh -
PASSED{color}
* {color:#013220}IgnitePdsUnitTestSuite:
IgniteThrottlingUnitTest.shouldThrottleWhenWritingTooFast - PASSED{color}
* {color:#013220}IgnitePdsUnitTestSuite:
IgniteThrottlingUnitTest.shouldNotThrottleWhenWritingSlowly - PASSED{color}
{panel}
[TeamCity *--> Run :: All*
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6497948&buildTypeId=IgniteTests24Java8_RunAll]
> 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: 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.1#820001)