Skip to content

Easy Stress Testing #98

@maxsmythe

Description

@maxsmythe

Substrate's goal is to enable more-efficient serving of large workloads. Ideally we should have a way to validate that the changes we're making are moving towards this goal.

I suggest we create a specialized workload that makes it easy to test system behavior at varying levels of scale:

  • Arbitrarily large numbers of actors
  • The ability to consume network/RAM/disk/kernel memory at customizable levels
  • Varying rates of suspend/resume activity
  • Combinations of the above functionality.

Ideally, we should be able to customize the workload without instantiating new actors each time. It should be customizable enough to test specific functionality under development and scale as project functionality/infrastructure capabilities scale.

I'm working on a low-overhead binary that can be configured via RPC calls to exhibit the desired behavior (disk consumption, network requests, etc.). This should allow for easy scaling while leaning on Locust to provide the behavioral guidance, enabling live-customization of load characteristics and non-homogeneous load profiles.

Metadata

Metadata

Labels

area/dev-infraarea/testsEnhancing / fixing test coverage.prio/P0Highest priority / required for next milestone

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions