cross-posted from: https://discuss.online/post/5391072
February 20, 2024 piefedadmin writes:
For a very small instance with only a couple of concurrent users a CDN might not make much difference. But if you take a look at your web server logs you’ll quickly notice that every post / like / vote triggers a storm of requests from other instances to yours, looking up lots of different things. It’s easy to imagine how quickly this would overwhelm an instance once it gets even a little busy.
One of the first web performance tools people reach for is to use a CDN, like Cloudflare. But how much difference will it make? In this video I show you my web server logs before and after and compare them.
Read How much difference does a CDN make to a fediverse instance?
Thank you for sharing, interesting topic!
On a side-note, I just had a look at Piefed, I like their topics list: https://piefed.social/topics
Ugh, that is a total anti-feature that hides away the unique characteristics of communities and increases moderation work-load significantly :(
As someone else commented, they could work as tags that communities could apply to themselves
Flippin’ eck. Seeing a familiar Lemmy post on there, clicking it and seeing the whole thing render instantly was a bit of a shock after getting used to Lemmy’s more pedestrian loading of stuff.
Yes. This is why:
https://join.piefed.social/2024/02/09/comparing-network-utilization-of-lemmy-kbin-and-piefed/
https://join.piefed.social/2024/02/13/technical-performance-of-each-fediverse-platform/
Oh wow. That really illustrates it. Your approach to a social media site is very admirable (so much modern stuff assumes that just throwing more CPU cycles / RAM / bandwidth at the problem is a solution).
Thanks :)
Using a CDN does not come without downsides, though. Cloudflare itself is becoming another “too big to fail” entity of a system that is not supposed to depend on the resilience/capacity/budget of any single actor.
Personally, I’d rather see a tiered architecture for data, where servers are only responsible for guaranteeing the data from actors on their own servers, but everything else stored in a distributed, append-only stream of data. This would make a lot cheaper to run individual instances and would allow clients to obtain the data from multiple sources.
Some kind of shared object storage would help for images at least. But for that to work Lemmy would need a way to redirect clients directly to the storage bucket instead of proxying all the pict-rs traffic like it is currently implemented.
It is indeed a nice change