-
Notifications
You must be signed in to change notification settings - Fork 215
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
build+deploy daily perf test #3107
Comments
@mhofman @JimLarson This does not have an area label that is covered by our weekly tech / planning meetings. Can you assign the proper label? We cover: agd, agoric-cosmos, amm, core economy, cosmic-swingset, endo, getrun, governance, installation-bundling, metering, run-protocol, staking, swingset, swingset-runner, token economy, wallet, zoe contract. Or, if this is accurately labeled by an area label we should be covering in one of our weekly meetings, please LMK. @warner added for his opinion. |
From @Tartuffo in #2630 (comment) Questions we need to answer:
|
I believe the original requirements have all been satisfied, except for the visualization aspect (Agoric/testnet-load-generator#63), and the following:
I believe the first one may not be fully representative because of caching (the first revision with a new dependency will take a longer time). The size of the sdk tree can probably be captured, but I'm not convinced of the usefulness. |
The instructions are now available in the internal wiki, please let me know if anything is missing. Once Agoric/testnet-load-generator#67 lands to close a couple issues, I believe this can be closed. |
What is the Problem Being Solved?
I want to know how the high-level performance of our system changes over time. I'd like an otherwise-quiet dedicated machine running the following sequence in a continuous 24-hour loop:
git clone
the current version ofagoric-sdk
, runyarn install
,yarn build
,make -C packages/cosmic-swingset
git clone
the current version oftestnet-load-generator
agoric start local-chain
)agoric start local-solo 8000
)yarn loadgen
and wait until it finishes preparing all the load tasks (after it installs the fungible-faucet contract)git clone
at the top of the loopSo we'll have 4 periods of 6 hours each. We'll start the chain process once, and restart it 4 times. The final restart will not be used for very long, as we're only interested in how long it takes.
I want to collect the following data as this runs:
du --si _agstate/agoric-servers/.../data/ag-cosmos-chain-state/data.mdb
: the filesize is a constant 2GiB, but it is sparse, and we care about how much space is actually consumed)There are other metrics we'll add in the future, or which we can derive by parsing the slogfile afterwards.
This data should be used to compute a simple regression for each of the 6hr periods, to derive:
From the four restart events, I want to compute a linear regression of the restart time vs the number of faucet cycles that have taken place so far.
Then I want once-per-day graphs of all those slopes, plus:
yarn install/build
timeagoric-sdk
treeThe goal is to have a well-grounded model that says "if we run a chain and put X amount of traffic into it, it will consume Y bytes of disk, Z bytes of RAM, and take W seconds to restart".
We should have a dashboard somewhere where all developers can look at these graphs from the last several months, and see clear evidence of performance improvements or regressions that we make.
The text was updated successfully, but these errors were encountered: