> For the complete documentation index, see [llms.txt](https://docs.rumi.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rumi.systems/rumi-core/guides/developing-applications/configuring-the-runtime/transactions/adaptive-batching.md).

# Adaptive Batching

[Adaptive batching](/rumi-core/concepts/transactions.md#adaptive-batching) is configured by setting the engine's `adaptiveCommitBatchCeiling` configuration parameter to a non-zero value. The following illustrates how this is done.

```xml
<services>
  <service name="MyApp" className="com.foo.MyApp">
    <adaptiveCommitBatchCeiling>32</adaptiveCommitBatchCeiling>
  </service>
</service>
```

The `adaptiveCommitBatchCeiling` is set to 0 by default which disables adaptive batching. Configuring the Rumi runtime to optimize for throughput i.e. set `nv.optimizefor=throughput` automatically sets the adaptive batch ceiling is set to 64 unless otherwise explicitly configured otherwise.
