We pushed the system to its limit, we recuperated, and now we’re here with a report. Phase 4 of the ongoing Agoric Incentivized Testnet for validators was the Stress Test phase. The goal of the phase was to exercise performance-related features and code we’d recently put into the system. We had a number of different improvements all coming in simultaneously, and we used mid-phase upgrades to switch between operating modes. This gave us several comparison points to understand different dimensions of system performance. 

This was arguably the most intense phase we’ve had so far, and we appreciate all the work the validators put into it. Validators were competing for uptime amidst stressful load, last minute voting conditions, mid-phase upgrades, and required restarts. Agoric came out of the phase with a treasure trove of data that has allowed us to focus our efforts moving into the next incentivized testnet phase and beyond. For a more in-depth overview, check out Brian Warner’s comments in a recent Agoric Community Call.

Phase 4: By the Numbers

  • 900 network tasks submitted
  • 84 community tasks submitted
  • 5 challenge tasks submitted

Better to Look Stressed Than Feel Stressed

One of the tasks was to show yourself doing the stress test and feeling stressed, and there were some great ones. Here is a sample of validators blowing off steam:

https://twitter.com/cjremus/status/1410963212233809930

https://twitter.com/Easy2Stake/status/1411296716226187271

https://twitter.com/ya_cima/status/1410704075767926792

https://twitter.com/aliefaisalaa/status/1409501267823452164

Announcing the Winners

The task was to write a load gen script to try to stress the network itself. We saw various builds come through to battle for the winning spot but two stood out that were used extensively throughout. 

Phase 4 Winners 

c29r3

The purpose of this submission was to test the performance of validators in the Agoric agorictest-16 test network. The script sends transactions in multithreaded mode, from thousands of wallets. 

Details: https://github.com/c29r3/agoric-stress-test

KingSuper

This script has a pair of key functions. The first, Create a Big Tx, created 7,000 addresses on the network and sent each one 1 uBLD, resulting in 133,851,645 in gas spent. The second was to send the uBLD from all 7,000 addresses back to the original address. This caused a tremendous amount of load on the network. Here’s a GIF of the madness: https://gifyu.com/image/AroG.

Phase 3 Runners-Up


DSRV

A new load gen script for the “Zoe Simple Exchange” smart contract. 

Details: https://github.com/Agoric/testnet-load-generator/pull/9


baberough

Baberough wrote a mischievous tool that allows you to detect validators with an opened RPC port (26657) and send them a heavy payload. 


Details: https://github.com/kinrokinro/agoric-stress-tester

What’s Next?

Phase 4.5 of our incentivized testnet wrapped yesterday, Thursday, August 26. Coming soon is Phase 5: Adversarial Testnet.

Even if you’re not a participating validator in our incentivized testnet, you can still take a look under the hood and start building with us. Check out the Agoric beta, which introduces the foundational elements of our economy, at beta.agoric.com.

And be sure to follow our incentivized testet through the remaining phases at validate.agoric.com.

Thanks for reading. You can join the Agoric community on Twitter, Discord, Telegram, and LinkedIn, subscribe to our monthly newsletter, and catch us at upcoming events.