[ 
https://issues.apache.org/jira/browse/IGNITE-16879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17944665#comment-17944665
 ] 

Ivan Bessonov edited comment on IGNITE-16879 at 4/15/25 9:50 AM:
-----------------------------------------------------------------

Tested using the following scenario:
 * {{putAll}} transactions with 1000 entries.
 * 3 replicas, 1 client with many threads.
 * Just enough load to always have checkpoints with _"too many dirty pages"_ 
reason.
 * Throughput with current main - *202254* inserts per second.
 * Throughput with the fix - *222561* inserts per second, about *10%* more.
 * Graph looks a bit more smooth, but still with large dips that will be 
addressed separately.

h3. Graphs

Before:

!Screenshot from 2025-04-15 12-45-07.png|width=582,height=169!

After:

!Screenshot from 2025-04-15 12-45-09.png|width=580,height=168!


was (Author: ibessonov):
Tested using the following scenario:
 * {{putAll}} transactions with 1000 entries.
 * 3 replicas, 1 client with many threads.
 * Just enough load to always have checkpoints with _"too many dirty pages"_ 
reason.
 * Throughput with current main - *202254* inserts per second.
 * Throughput with the fix - *222561* inserts per second, about *10%* more.
 * Graph looks a bit more smooth, but still with large dips that will be 
addressed separately.

h3. Graphs

Before:

!Screenshot from 2025-04-15 12-45-07.png!

After:

!Screenshot from 2025-04-15 12-45-09.png!

> Estimate time-to-write-cp-page and time-to-fsync-cp-page empirically
> --------------------------------------------------------------------
>
>                 Key: IGNITE-16879
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16879
>             Project: Ignite
>          Issue Type: Improvement
>          Components: persistence
>            Reporter: Roman Puchkovskiy
>            Assignee: Ivan Bessonov
>            Priority: Major
>         Attachments: Screenshot from 2025-04-15 12-45-07.png, Screenshot from 
> 2025-04-15 12-45-09.png
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The speed-based throttling (implemented inĀ  
> SpeedBasedMemoryConsumptionThrottlingStrategy) tries to estimate how much 
> time is needed to fully write a checkpoint to disk. To write a page to disk, 
> we not only need to pass it to the OS for writing (which takes time), but 
> also fsync it to disk (which also takes some time).
> When estimating the time needed to write a checkpoint, the speed-based 
> throttle needs an estimation of how much time it is needed to write a page 
> and how much time is needed to fsync it. Currently, a naive approximation is 
> used: page writing time is equal to page fsyncing time.
> In reality, this is not true, so the speed estimations are off: the more the 
> ratio between writing and syncing time differs from 1, the worse our 
> estimation is.
> The idea is to actually measure the average time to write a page and fsync a 
> page to disk and then use these measured values to obtain better estimations.



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

Reply via email to