# recordsize

Generated from the code · as of CLI 0.6.0

The block size the arc's storage uses.

- **Type:** string, a power of two from 4KiB to 1MiB
- **Required:** no
- **Default:** 16KiB with a deployed database, document or forge kind, otherwise 128KiB
- **Errors:** [`recordsize-invalid`](https://docs.omniarc.eu/errors/recordsize-invalid.md)

Write a power of two from `4KiB` to `1MiB`, with the unit spelled `KiB` or `MiB`: `16KiB`, `128KiB`, `1MiB`. A value such as `16K` or `16KB` is refused.

There is one block size per arc, not one per service. Small blocks suit databases that write small pages at random. Large blocks suit big files that are written once and read in order. With no value set, an arc with a deployed service whose `kind` is `database`, `document` or `forge` gets `16KiB`, and any other arc gets `128KiB`. A service counts only if it is deployed and you set its `kind` yourself. A value you write always wins, even if it equals the default.

A new value takes effect at your next deploy and applies only to data written after that. Data already on disk keeps the block size it was written with.

```yaml
recordsize: 16KiB
```

**Example: arc.yaml**

```yaml
recordsize: 16KiB
```
