After a lot of research (special thanks to Igor, Patryk, Richard, and the rest of the persons that participated in the discussions), there was basically a problem with discovery.

During the benchmarks, the main issue of the scalability of the scenarios was that Status nodes were not able to find each other. This was causing a huge bottleneck in the nWaku bootstrap node and store node, that was the central point where every Status node (full and light) was connected and was sending/receiving messages through it.

The events were more or less the following ones:

There were not (? or was not working) a functional test in status that checked node discoverability. This was done and fixed a bug where the containers were getting multiple docker networks, and because of this they were not able to discover each other:

https://github.com/status-im/status-go/issues/6886

https://github.com/status-im/status-go/pull/6901

Then, there was the issue that we would need to set up an ENRtree just for those tests, so the following PR was done:

https://github.com/status-im/status-go/pull/6941

There was still an issue in the following situation:

  1. I have a nwaku bootnode running.,
  2. Then I start a status-backend. ,
  3. Here status-backend: ,
  4. Now, keeping the bootnode running, I restart the status-backend,