Skip to content

Commit 127b1d0

Browse files
authored
Document throughput based checkpoint limiter (neo4j#2535) (neo4j#2536)
1 parent 4ac8933 commit 127b1d0

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

modules/ROOT/pages/database-internals/checkpointing.adoc

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,31 @@ The default value of `db.tx_log.rotation.retention_policy` is changed from `2 da
9898
For more information, see xref:database-internals/transaction-logs.adoc#transaction-logging-log-retention[Configure transaction log retention policy].
9999

100100
Having the least amount of transaction log data speeds up the checkpoint process.
101-
To configure the number of IOs per second the checkpoint process is allowed to use, use the configuration parameter xref:configuration/configuration-settings.adoc#config_db.checkpoint.iops.limit[`db.checkpoint.iops.limit`].
101+
To configure the number of IOs per second the checkpoint process is allowed to use, set the configuration parameter xref:configuration/configuration-settings.adoc#config_db.checkpoint.iops.limit[`db.checkpoint.iops.limit`].
102102

103103
[NOTE]
104104
====
105105
Disabling the IOPS limit can cause transaction processing to slow down a bit.
106106
For more information, see xref:performance/disks-ram-and-other-tips.adoc#performance-checkpoint-iops-limit[Checkpoint IOPS limit] and xref:configuration/configuration-settings.adoc#_transaction_log_settings[Transaction log settings].
107107
====
108108

109+
Additionally, starting from 2025.07, you can also use xref:configuration/configuration-settings.adoc#config_db.checkpoint.throughput.limit[`db.checkpoint.throughput.limit`] to define checkpoint speed in terms of bytes per second.
110+
Compared to the IOPS limit, the throughput limit enforces a stricter control over flush speed, with the checkpoint process yielding more to stay within the configured throughput.
111+
112+
Starting from 2025.07, the checkpoint log messages also include the average flush speed:
113+
114+
.Example of a log message with IOPS-limited checkpoint
115+
[results]
116+
----
117+
Checkpoint triggered by "Call to db.checkpoint() procedure" @ txId: 92, append index: 92 checkpoint completed in 7s 464ms. Checkpoint flushed 251909 pages (9% of total available pages), in 249641 IOs. Checkpoint performed with IO limit: 600 IOPS, paused in total 70 times(6026 millis). Average checkpoint flush speed: 281.1MiB/s.
118+
----
119+
120+
.Example of a log message with throughput-limited checkpoint
121+
[results]
122+
----
123+
Checkpoint triggered by "Call to db.checkpoint() procedure" @ txId: 88, append index: 88 checkpoint completed in 39s 457ms. Checkpoint flushed 314688 pages (12% of total available pages), in 311753 IOs. Checkpoint performed with IO limit: 64.00MiB/s, paused in total 77 times(38085 millis). Average checkpoint flush speed: 63.04MiB/s.
124+
----
125+
109126
[[checkpoint-logging-and-metrics]]
110127
== Checkpoint logging and metrics
111128

0 commit comments

Comments
 (0)