the great mastodon influx - addendums

This commit is contained in:
Wouter Groeneveld 2022-11-19 08:59:56 +01:00
parent ad4f31fe6e
commit 5af490d22d
1 changed files with 5 additions and 3 deletions

View File

@ -13,15 +13,17 @@ I've been running a self-hosted [Pleroma instance](https://pleroma.social/) for
My aversion to social media-style endless scrolling is making me itchy lately. Don't make the mistake of thinking this isn't applicable for Mastodon because it is. I can't easily find the diamond in the rough anymore---it's hidden somewhere in-between the more and more Twitter-like gibberish of fun but to me useless chats. There's the option to either aggressively mute or block users, start messing with lists (that aren't supported by all Pleroma frontends), or just... well... scroll?
Meanwhile, Sebastiaan fiddles with ActivityPub [trying to connect](https://seblog.nl/2022/11/13/1/mastodon-debuggen) his website with the infrastructure and having some [interesting thoughts](https://seblog.nl/2022/11/11/1/slome-mastodon) about the sudden increased server load of Most well-known Mastodon instances. I contemplated taking a stab at the W3C recommendation myself but the guide for new implementers doesn't even contain a complete end-to-end example, the test suite site is down for some reason---god knows for how long---and the [implementation report list](https://activitypub.rocks/implementation-report/) contains way too many rows that scream _overengineered!!_ so no thank you. That's starting to sound like a bad habit at W3C...
Meanwhile, Sebastiaan fiddles with ActivityPub [trying to connect](https://seblog.nl/2022/11/13/1/mastodon-debuggen) his website with the infrastructure and having some [interesting thoughts](https://seblog.nl/2022/11/11/1/slome-mastodon) about the sudden increased server load of most well-known Mastodon instances. I contemplated taking a stab at the W3C recommendation myself but the guide for new implementers doesn't even contain a complete end-to-end example, the test suite site is down for some reason---god knows for how long---and the [implementation report list](https://activitypub.rocks/implementation-report/) contains way too many rows that scream _overengineered!!_ so no thank you[^act]. That's starting to sound like a bad habit at W3C...
Even more scary is perhaps Aral Balkan's why every toot is also [a potential denial of service attack](https://ar.al/2022/11/09/is-the-fediverse-about-to-get-fryed-or-why-every-toot-is-also-a-potential-denial-of-service-attack/) post, where he proposes one solution: everyone should be on an instance-of-one. Except that doesn't help, as Aral is on one, and his host had to upscale quickly because he has 23K followers, having to pay `€50`/month now. That means there's technical knowledge involved, even if you let someone else manage it---yet another
[^act]: I recognize this might come across as a bit harsh. In a way, ActivityPub is amazing---can you imagine an _open_ protocol making it possible to use your site as your personal Twitter handle? That seamlessly integrates with the system? If you're up for a hefty development phase, that is.
Even more scary is perhaps Aral Balkan's _why every toot is also [a potential denial of service attack](https://ar.al/2022/11/09/is-the-fediverse-about-to-get-fryed-or-why-every-toot-is-also-a-potential-denial-of-service-attack/)_ post, where he proposes one solution: everyone should be on an instance-of-one. Except that doesn't help, as Aral is on one, and his host had to upscale quickly because he has 23K followers, having to pay `€50`/month now. That means there's technical knowledge involved, even if you let someone else manage it---yet another
Twitter once ran on Ruby on Rails and used a single MySQL database as a backend. It notoriously had a lot of performance issues. Mastodon is built on Ruby on Rails as well, and guess what: it's struggling to keep up, even with Ruby's "fast job system" called [Sidekiq](https://sidekiq.org/). Pleroma on the other hand runs on Elixir and claims to be using [significantly less resources](https://soapbox.pub/2021/10/10/choosing-a-backend-for-soapbox-fediverse-mastodon-pleroma/). But you can't go around ActivityPub's required message-passing system that Sebastiaan is also experiencing difficulties with---as soon as a few other servers pick up your endpoint, your server is dragged along in the message maelstrom. The Beam server on my VPS that serves Elixir processes consistently takes up the most CPU load and I'm currently wondering whether or not it's worth it. The Postgres DB is about 800 MB right now.
I'm sure the technology will evolve, as it did with Twitter. Still, it has me wondering, and dare I say it: is decentralization and that much chattiness---both by users and the APIs---really the best, sustainable option? The problem isn't just limited to upscaling, but to the long-term maintenance of these servers. You suddenly find yourself administering a server where people rely on your capabilities to keep the thing in the air. I've witnessed a few with 2K+ users being pulled because these admins are doing this in their free time, and sometimes, it's _just too much_.
That is the one thing that works with huge centralized systems: their ad system cash flow ensures moderation and maintenance---well, up to a point, as we've witnessed these days. People have become accustomed to using these services for free. Some Mastodon instances require a payment up-front, but most rely on donations---or nothing. It's going to be interesting to see how this system can grow as tens of millions suddenly take over and start using (or bombarding?) it.
That is the one thing that works with huge centralized systems: their ad system cash flow ensures moderation and maintenance---well, up to a point, as we've witnessed these days. People have become accustomed to using these services for free. Some Mastodon instances require a payment up-front, but most rely on donations---or nothing. It's going to be interesting to see how this system can grow as tens of millions suddenly take over and start using (or bombarding?) it, blatantly ignoring that donation button.
---