Skip to content

Commit a665e72

Browse files
Copilotbbockelm
andcommitted
Add documentation for write buffering feature
Co-authored-by: bbockelm <1093447+bbockelm@users.noreply.github.com>
1 parent 9600623 commit a665e72

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,26 @@ To enable the checksum (only on XRootD 5.2+):
2525
ofs.ckslib * libXrdMultiuser.so
2626
```
2727

28+
### Write Buffering
29+
30+
To reduce IOPS from small sequential writes, you can enable write buffering:
31+
32+
```
33+
multiuser.writebuffersize <bytes>
34+
```
35+
36+
Where `<bytes>` is the buffer size in bytes. Default is 0 (disabled). When enabled:
37+
- Sequential writes smaller than the buffer size are accumulated in memory
38+
- The buffer is flushed when full, when a non-sequential write occurs, or when the file is closed
39+
- Buffering is automatically disabled for a file if non-sequential writes are detected
40+
41+
Example: Buffer up to 1MB of writes:
42+
```
43+
multiuser.writebuffersize 1048576
44+
```
45+
46+
**Note:** Buffering is only suitable for sequential write workloads. Non-sequential writes will cause the buffer to be flushed and buffering disabled for that file.
47+
2848
Startup
2949
-------
3050

_codeql_detected_source_root

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.

configs/60-osg-multiuser.cfg

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,9 @@ if defined ?~XC_ENABLE_MULTIUSER
1717
# checksum while it is writing a file. To turn this on, uncomment the
1818
# following line:
1919
# multiuser.checksumonwrite on
20+
21+
# Write buffering can reduce IOPS for workloads with many small sequential
22+
# writes. Specify the buffer size in bytes (default: 0 = disabled).
23+
# Example: Buffer up to 1MB of sequential writes
24+
# multiuser.writebuffersize 1048576
2025
fi

0 commit comments

Comments
 (0)