How much stress testing I can do with flow?

Hi !
Could you tell me how much stress testing I can do on testnet?
Is it possible to test transactions of more than 100 TPS?

we are developing a large NFT system that works with our existing business, we can start a new service with potential customers already in place.

So stress testing is an important part of our business.
We plan to run the following.

  • check if whether it’s possible to execute a large number NFT sell/purchase simultaneously.
  • check if whether the server worker, which polls the latest block from flow and searches the emitted event, process completes without delay.

This document says 100TPS is fine for simple processing.

But what would be the impact of running more than 100 TPS on a testnet ??
(ex 500TPS)

  • Should I consult with the development team? (If so, please let me know who to contact.)
  • In the first place, should we stop because it has a large impact to others? (In this case, what should we do for stress testing?)

I would appreciate any advice you can give me.

1 Like

@vishal @pete Would you be able to give some insight into this?

Hey @e-koma, thanks for asking this! And welcome to the forum :slight_smile:

In general, testnet is a good place to stress test your application, but we do need to be careful to ensure that the network stays useable for everybody.

We don’t have exact TPS numbers that we can advise right now, but small tests of ~10 TPS should be totally fine on testnet.

If you want to perform a bigger test, please send us a message on Discord (you can tag @Flow Team in the #developers channel) and we can help you out. It’s also really helpful for us to know more about your tests so that we can capture a variety of network usage profiles!

Depending on the use case for your tests, you may also want to use the emulator to perform stress testing. You can configure the emulator with artificial block delay to simulate real network latency. Let me know if you’d like me to expand on that.

Hi, @pete , thanks for the reply!
I see. if necessary, I send a message to Flow Team on Discord.

If possible, could you please tell me how to do an artificial block delay on the flow emulator?
perhaps it will be useful for our use case.

You can always run your own flow network with localnet[0] and do stress tests there.

[0] flow-go/ at master · onflow/flow-go · GitHub