Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fast USDC load test #10890

Closed
dckc opened this issue Jan 24, 2025 · 2 comments · Fixed by #10939
Closed

Fast USDC load test #10890

dckc opened this issue Jan 24, 2025 · 2 comments · Fixed by #10939
Assignees
Labels
performance Performance related issues resource-exhaustion Threats to availability from resource exhaustion attacks test

Comments

@dckc
Copy link
Member

dckc commented Jan 24, 2025

What is the Problem Being Solved?

Our tests to date tear down the world after a handful of operations. We don't know the impact on the chain under sustained load.

Description of the Design

Goal: a load test to verify that some metrics don't grow over time: pending kernel promises, number of kernel objects, clist.

cc @mhofman

Security Considerations

Scaling Considerations

kinda the whole point

Test Plan

TBD

Upgrade Considerations

@dckc dckc added enhancement New feature or request needs-design performance Performance related issues test labels Jan 24, 2025
@mhofman
Copy link
Member

mhofman commented Jan 24, 2025

I will provide a way to get the relevant metrics.

The loadtest should exercise all expected scenario over a sufficient number of iteration to trigger kernel GC. Alternatively if using a bootstrap style test it may be possible to reduce the number of iteration and call reapAllVats on the controller. We're looking at getting the relevant metrics at least before and after the main iteration loop, but should also consider getting them between iterations.

@dckc dckc added resource-exhaustion Threats to availability from resource exhaustion attacks and removed enhancement New feature or request labels Jan 31, 2025
@dckc
Copy link
Member Author

dckc commented Jan 31, 2025

broke ground...

~/projects/agoric-sdk/packages/boot$ yarn test test/fast-usdc/chain-impact.test.ts 
  - [todo] uncompressedSize of heap snapshots of vats
  ✔ access relevant kernel stats after bootstrap
    ℹ relevant kernel stats {
        clistEntries: 2064,
        kernelObjects: 640,
        kernelPromises: 41,
        promiseQueuesLength: 0,
      }
  ─

  1 test passed
  1 test todo
Done in 36.38s.

dc-fu-impact branch:

2025-01-31 15:28 0c8a2d0202 chore: extract relevant kernel stats
2025-01-31 15:19 0abe3bcd3a chore: use local (node) worker for faster dev, initially
2025-01-31 15:16 f6911aaa20 test: Fast USDC chain impact test (WIP)

mergify bot pushed a commit that referenced this issue Feb 4, 2025
refs: #10890
refs: #10931

## Description
Add a driver to update the block height in fake vstorage cells.

Add test of `sequence: false` based deletion.

### Security Considerations
None

### Scaling Considerations
None

### Documentation Considerations
Internal test hooks

### Testing Considerations
Updated unit tests of fake storage

### Upgrade Considerations
None
@mergify mergify bot closed this as completed in #10939 Feb 7, 2025
@mergify mergify bot closed this as completed in 7f8ede3 Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance related issues resource-exhaustion Threats to availability from resource exhaustion attacks test
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants