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

automated test for automatic restalking feature #95

Closed
11 tasks done
SurfingNerd opened this issue Mar 21, 2024 · 5 comments
Closed
11 tasks done

automated test for automatic restalking feature #95

SurfingNerd opened this issue Mar 21, 2024 · 5 comments
Assignees

Comments

@SurfingNerd
Copy link
Collaborator

SurfingNerd commented Mar 21, 2024

Testing for: DMDcoin/diamond-contracts-core#43

  • including the impact of small delegate stakes on validators.

  • figure out if the blockchain will be able to create a block within 1 minute.

  • plot a graph of the impacts

  • Network generation

    • with 25 Nodes (it could be only 1 Node, since it "should" scale lineary) but with 25 nodes wrong expectations are addressed. for a local test, 7 Nodes should do fine, so we do not have a overload of the local machine.
    • Epoch Length should be long enough so the long lasting block can be created within 1 epoch, and short enough
      to get results within a convinient timeframe. Since the target block creation timeframe is 1 minute, 10 Minutes should be a good value, that gives enough time to do the key generation.
    • network needs to be generated with only 1 validator - the rest of the validators need to be filled, so they become regular validators that are possible to be staked on, instead of MOC Validators.
  • maybe develop with the capability to test it both on a remote and a localnet. (current ostacle: localnet vs remotenet as config param ? #97) (no, we do not need remotenet support)

  • Increase the number of delegators each block by a configurable step (100 ?) for each epoch.

  • figure out the block that does the reward call, and measure the time consumed for creating the block.

  • write out each created epoch switch as a CSV line.

  • create a plot (libre office calc?) to visualize the result.

  • highlight the breakpoint of the target time of 1 Minute, so we know the hard minimum boundary for delegator min stake.

  • append the data and visualisation in this issue.

@SurfingNerd SurfingNerd moved this to In Progress in Alpha4 Mar 27, 2024
@SurfingNerd SurfingNerd self-assigned this Mar 27, 2024
SurfingNerd added a commit to SurfingNerd/honey-badger-testing that referenced this issue Mar 27, 2024
 creates a testnetwork for the auto restake feature
 DMDcoin#95
@SurfingNerd
Copy link
Collaborator Author

restalking tests have been extended by also filling the pots and csv outputing the total stake in PR #103,
this total stake value can be used to verify the correct behaviour of the restaking feature.

@SurfingNerd
Copy link
Collaborator Author

the first performance tests has shown that the restake feature does not have a serious negativ performance impact on the epoch end.
But we did not have Pots defined in those tests.
i am working on rerunning the tests after we also got filled pots.

@SurfingNerd
Copy link
Collaborator Author

be careful with the settings you want to run on the test hardware.
8 Core AMD EPYC 7282 could not handle a test with 25 nodes.

here is an example where the hardware VM could not handle the load and drops out nodes because of the early epoch end feature.
The system was never able to scale up to 25 nodes, what would mark the beginning of the test,, and the early epoch end feature even started to throw out nodes at block 224.

lscpu.txt
main.log
starttime.txt
versions.txt

@SurfingNerd
Copy link
Collaborator Author

removed task "Check for exisint diamond DB Implemetations to visualize stake changes in grafana. " because it is a separate task now: #98

@SurfingNerd
Copy link
Collaborator Author

SurfingNerd commented May 28, 2024

here is a test with 10 nodes, and 2000 delegators.
a negative performance impact could not be measured.

blockcreation
block_creation_result.csv
main.log
starttime.txt
versions.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant