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?
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.
Like this?
No that is something else. Currently Lemmy does not cache all remote media (other than thumbnails and some non-Lemmy images AFAIK), but I think this is currently being implemented and once that is added, a separate media storage like mentioned in that Mastodon issue might be useful.
What I mean is that currently all image data has to flow though your Lemmy backend, even though object storage usually provides static image hosting and the Lemmy backend could just tell the clients to load the images directly from there, similar to how an CDN would do it.
Yeah, my response was a bit tongue-in-cheek because one of the things that I don’t like about Lemmy is this coupling to a specific storage backend. Maybe it was just immaturity of actix that led the devs to take this approach, but most mature web frameworks already allow pluggable storage backends, so in the end it seems that Lemmy will reinvent a bunch of wheels.