I moved to sopuli.xyz because of this. I can still subscribe to all the communities I like so no point in staying in an instance that's constantly down.
I think it's more like the previous commentor said. It's the communities more than the users. Every post, comment, like needs to be sent to every other instance that subscribes to the community. I suspect it's definitely connected to federation. The reason being, at 20:00 utc yesterday lemmy.world stopped sending my instance anything (previously it was between 2 and 5 messages a second). It only started again at around 00:00 utc. I wonder if they were slowly adding instances back to federation?
In any case the load for that many communities with that many other instances must be huge. The advantages of the fediverse requires that communities AND users are spread between instances. In the current climate, the super instances have most of both and it must be becoming exponentially harder to keep up with hardware requirements for this.
Whose fault is it though? If an instance is capable of 100 concurrent users but everyone flocks to the two or three big instances. What to do? Block instances so they shutdown? Then when the shit really hits the fan there's nowhere to distribute users to.
In the case of lemmy.world I might suggest they split the instance. Original lemmy.world keeps the communities but has no users. Create a new instance and transfer the users. That way the first instance is dedicated to federating the communities, moving the real time user database hits to a separate database. I'd also suggest preventing the creation of new communities on that instance.
In real terms it'd have been better if the communities were shared between instances more. Making a more even spread of the one to many distribution efforts.