Overview
This page provides a comprehensive reference for all CLI parameters and flags available in Chainbench’sstart command.
Usage
Core Parameters
Target Configuration
The blockchain node endpoint URL to test against.
Required for initializing test data. If running in Web UI mode, you can change it later, but it must match the blockchain type of the initialized test data.
Reference node URL for retrieving test data before the test starts.If not specified, the target URL is used for test data generation.
Profile Selection
A specific RPC method to test (positional argument).Use
When using the method argument,
--profile and --profile-dir options are ignored.chainbench list methods to see all available methods.Profile to run. Profiles contain multiple methods with configured weights.Use
chainbench list profiles to see all available profiles.Custom directory containing profiles. Supports up to one level of subdirectories.
Full path to a specific profile locustfile.This overrides both
--profile and --profile-dir options.Load Configuration
Target number of concurrent simulated users.
Number of users spawned per second during ramp-up.
Number of worker processes to run.More workers can generate higher load but consume more system resources.
Duration of the test run. Accepts time formats like
30s, 5m, 2h, 12h.Load pattern shape to use. Controls how load is distributed over time.Available shapes: Use
step, spikechainbench list shapes to see all available shapes. See Load Shapes for details.Execution Mode
Run in headless mode without the web UI.
Required for running on remote servers or in automated environments.
Automatically quit after the test completes.Useful for automated testing and CI/CD pipelines.
Network Configuration
Host address for the Locust master process.
Port for the Locust master process.
Test Data Configuration
Size of test data to generate. Determines how many blocks are used.Available values:
XS: 10 blocksS: 100 blocks (default)M: 1,000 blocksL: 10,000 blocksXL: 100,000 blocks
Larger data sizes result in longer test data generation time before the test starts.
Use the latest blocks for test data generation and continuously update test data.
Recommended for nodes running in sync modes that don’t have access to full blockchain history (e.g., nodes that only keep the last 128 blocks).
Starting block number for generating test data.Must be used together with
--end-block.Ignored if
--use-latest-blocks is set.Ending block number for generating test data.Must be greater than
--start-block.Task Filtering
Enable execution of tasks tagged with By default, debug and trace methods are excluded from tests.
debug or trace.Exclude tasks with specific custom tags from the test.Can be specified multiple times for different tags.
Batch Mode
Run tests in batch mode for JSON-RPC methods.Makes requests in batches instead of individual calls.
Number of requests per batch for JSON-RPC methods.Only used when
--batch flag is set.Results and Logging
Directory to save test results.Results are saved to
{results-dir}/{profile_or_method_name}/{timestamp}/Custom identifier for the test run.When specified, results are saved to
{results-dir}/{run-id}/ instead of using a timestamp.Logging level for test execution.Available values:
DEBUG, INFO, WARNING, ERROR, CRITICALMonitoring
Add monitors to collect additional data or metrics during the test.Can be specified multiple times for different monitors. Only works in headless mode.Available monitors:
sync-lag-monitor: Tracks how much the node lags behind current time
Topic name for ntfy.sh notifications when the test starts and finishes.Notifications are sent to
https://ntfy.sh/{topic}TimescaleDB Export
Export test data to PostgreSQL with TimescaleDB extension.Requires all PG connection parameters.
Hostname of PostgreSQL instance with TimescaleDB extension.Required when
--timescale is enabled.Port of PostgreSQL instance with TimescaleDB extension.
PostgreSQL username for authentication.
PostgreSQL password for authentication.Required when
--timescale is enabled.