[ 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)