Registry / testing / etherpad-load-test

etherpad-load-test

JSON →
library2.0.3jsnpmunverified

Clients for load testing an Etherpad instance, including legacy and sweep modes. Version 2.0.3, actively maintained by the Ether team. Supports configurable lurker and author counts, duration limits, and a sweep mode for reproducible concurrency curves with Prometheus metric scraping. Key differentiators: designed specifically for Etherpad's real-time collaboration model; built-in test for multiple pads in parallel; produces report artifacts (JSON, CSV, Markdown) suitable for plotting and issue reporting. Requires Node.js >=18.0.0 and ep_etherpad-lite >=1.8.6 with load-testing enabled.

npm install etherpad-load-test
INSTALL
IMPORT
SIG · ETHERPAD-LOAD-TEST
E
etherpad-load-test
testingjavascriptv2.0.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

etherpad-loadtest
✓ npm install -g etherpad-load-test
✗ npm install etherpad-load-test --save-dev
This package is a CLI tool, typically installed globally. The import symbol is the CLI command, not a JavaScript module. Do not import in source code.
etherpad-loadtest-multi
✓ etherpad-loadtest-multi [<num of pads>]
✗ etherpad-loadtest --multi
The multi-pad test is a separate CLI command, not a flag on the main command. Available after global install.
sweep config
✓ etherpad-loadtest --sweep authors=10..200:step=10:dwell=30s:warmup=5s --report ./out
✗ etherpad-loadtest -l 50 -a 10 --sweep
Sweep mode is a separate flag with its own syntax. Not combinable with legacy -l/-a/-d flags.

Installs and runs a basic load test against a local Etherpad instance with 10 lurkers and 3 active authors for 30 seconds.

# Enable load testing in Etherpad settings.json: set "loadTest": true, then restart. # Install the CLI tool globally npm install -g etherpad-load-test # Run a basic load test against a local Etherpad instance echo "Testing http://127.0.0.1:9001 with 10 lurkers and 3 active authors for 30 seconds" etherpad-loadtest http://127.0.0.1:9001 -l 10 -a 3 -d 30 # After test, disable load testing by setting "loadTest": false in settings.json and restart.
Debug
Known issues
breakingNode.js version requirement: >=18.0.0. Older versions will fail to install or run.
fix
Upgrade Node.js to 18.0.0 or later.
affects: node <18.0.0
deprecatedLegacy mode (-l, -a, -d) is unchanged but not actively enhanced; sweep mode is the recommended path for reproducible testing.
fix
Migrate to sweep mode with --sweep and --report flags for better reproducibility and reporting.
affects: >=2.0.0
gotchaThe Etherpad server must have "loadTest":true in its settings.json before running the load test, and must be set back to false afterward for security.
fix
Edit Etherpad's settings.json, set loadTest to true, restart, then after testing revert to false and restart.
affects: >=1.0.0
breakingPeer dependency ep_etherpad-lite >=1.8.6 required. Incompatible with older Etherpad versions.
fix
Upgrade Etherpad Lite to version 1.8.6 or later.
affects: ep_etherpad-lite <1.8.6
gotchaSweep mode uses duration strings (e.g., 30s) which are case-sensitive; do not use uppercase 'S'.
fix
Use lowercase 's' for seconds (e.g., 30s), 'm' for minutes, 'ms' for milliseconds.
affects: >=2.0.0
Errors
Common errors & fixes
Error: Cannot find module 'ep_etherpad-lite'
Peer dependency ep_etherpad-lite not installed or incompatible version.
fix
Ensure Etherpad Lite (>=1.8.6) is installed and load-testing is enabled in its settings.json.
FATAL: loadTest must be enabled in Etherpad settings.json
The Etherpad server does not have load testing enabled.
fix
Set 'loadTest': true in Etherpad's settings.json and restart the server.
RangeError: Invalid duration string: 30S
Uppercase 'S' used in duration string (sweep mode).
fix
Use lowercase 's' for seconds: '30s' instead of '30S'.
Error: The engine "node" is incompatible with this module. Expected version ">=18.0.0".
Running an older Node.js version.
fix
Upgrade Node.js to version 18.0.0 or later.
Upgrade
Version history
2.0.3latest on npm
Audit
Dependencies
ep_etherpad-literequiredPeer dependency: the Etherpad server must have load-testing enabled via settings.json for the load test to work.
Agent activity
4 hits · last 30 days
node
4
Resources
etherpad-load-test — npm install etherpad-load-test · libregistry