Skip to content

Commit 0b69319

Browse files
committed
revised readme
1 parent 981d6d3 commit 0b69319

1 file changed

Lines changed: 27 additions & 16 deletions

File tree

tools/nomad-raft-load/README.md

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
# nomad-raft-load
22

3-
A utility for load testing Nomad's Raft consensus layer by performing operations on Nomad Namespaces, Variables, ACL tokens, and ACL policies.
3+
A utility for load testing Nomad's Raft consensus layer by performing operations
4+
on Nomad Namespaces, Variables, ACL tokens, and ACL policies.
45

56
## Overview
67

7-
`nomad-raft-load` tests Raft performance by creating and deleting Nomad resources (Namespaces, Variables, ACL tokens, and ACL policies), which are pure Raft operations that don't require client nodes. This allows you to isolate and measure the performance characteristics of Nomad's consensus layer.
8+
`nomad-raft-load` tests Raft performance by creating and deleting Nomad
9+
resources (Namespaces, Variables, ACL tokens, and ACL policies), which are pure
10+
Raft operations that don't require client nodes. This allows you to isolate and
11+
measure the performance characteristics of Nomad's consensus layer.
812

913
## Features
1014

1115
- **Multiple Operation Types**: Test with Nomad Namespaces, Variables, ACL tokens, or ACL policies
12-
- **Flexible Patterns**:
16+
- **Flexible Patterns**:
1317
- `create-only`: Continuously create resources
1418
- `create-delete`: Create and immediately delete (tests both write paths)
1519
- `accumulate-purge`: Create many resources, then purge them in bulk
@@ -134,20 +138,25 @@ Key metrics:
134138

135139
### Namespace Operations (Recommended)
136140

137-
When running with `-type=namespace` (the default), the utility creates and deletes Nomad Namespaces with names like `raft-load-ns-{worker}-{iteration}-{timestamp}`.
141+
When running with `-type=namespace` (the default), the utility creates and
142+
deletes Nomad Namespaces with names like
143+
`raft-load-ns-{worker}-{iteration}-{timestamp}`.
138144

139145
**Advantages:**
140-
- Works with or without ACLs enabled
141-
- Pure Raft operations with no encryption overhead
142-
- Fastest and cleanest Raft testing
143-
- No special setup required
144-
- Tests Raft in isolation
146+
- Works with or without ACLs enabled
147+
- Pure Raft operations with no encryption overhead
148+
- Fastest and cleanest Raft testing
149+
- No special setup required
150+
- Tests Raft in isolation
145151

146152
### Variable Operations
147153

148-
When running with `-type=variable`, the utility creates and deletes Nomad Variables at paths like `raft-load/test-{worker}-{iteration}-{timestamp}`. Each variable contains a few test key-value pairs.
154+
When running with `-type=variable`, the utility creates and deletes Nomad
155+
Variables at paths like `raft-load/test-{worker}-{iteration}-{timestamp}`. Each
156+
variable contains a few test key-value pairs.
149157

150-
**Note:** Variables use encryption, so they test Raft plus encryption overhead. Use namespaces for pure Raft testing.
158+
**Note:** Variables use encryption, so they test Raft plus encryption overhead.
159+
*Use namespaces for pure Raft testing.
151160

152161
### Token Operations
153162

@@ -158,26 +167,28 @@ When running with `-type=token`, the utility automatically:
158167

159168
### Policy Operations
160169

161-
When running with `-type=policy`, the utility directly creates and deletes ACL policies with simple read permissions for the default namespace.
170+
When running with `-type=policy`, the utility directly creates and deletes ACL
171+
policies with simple read permissions for the default namespace.
162172

163173
**Note:** Both token and policy operations require ACLs to be enabled on the Nomad cluster.
164174

165175
## Operation Patterns
166176

167177
### create-only
168-
Creates resources continuously without deleting them. Useful for testing sustained write throughput and observing Raft log growth.
178+
Creates resources continuously without deleting them. Useful for testing
179+
sustained write throughput and observing Raft log growth.
169180

170-
⚠️ **Warning**: This will accumulate resources. Clean up manually or use with finite `-count`.
181+
**Warning**: This will accumulate resources. Clean up manually or use with finite `-count`.
171182

172183
### create-delete
173184
Creates a resource and immediately deletes it. Tests both write paths and measures round-trip Raft performance.
174185

175-
**Recommended** for most testing scenarios as it's self-cleaning.
186+
**Recommended** for most testing scenarios as it's self-cleaning.
176187

177188
### accumulate-purge
178189
Creates resources until a threshold, then deletes them in bulk. Useful for testing:
179190
- Burst creation performance
180-
- Bulk deletion performance
191+
- Bulk deletion performance
181192
- Raft log compaction behavior
182193

183194
Use `-purge-interval` for periodic purging during the test.

0 commit comments

Comments
 (0)