I’ve been in Lemmy for a month and I’m quite enjoy using the service.
However, after the mass migration on both Reddit and Twitter, I feel like the services are now significantly slower than they used to be. So I’m wondering whether I should have some kind of personal CDN/relay service for “caching” information especially medias or just create a new instace and federated to public Lemmy instance?
FYI, I have a private OpenVPN served on DO and 1L “server” that run Proxmox for existing services to my home. Should be okay to have a Nginx reverse proxy, right?
You definitely could, but it’s not really sustainable.
Worst case scenario: if everybody does this, and there’s 50.000 subscribers on a certain community, then that community will have to update 50.000 other servers whenever one user leaves a single message or vote.
Sure, your own server wouldn’t have a hard time, but it every popular server (with lots of subscribers) would. It would either take a long time for you to receive their updates, or you wouldn’t get them at all.
The best thing you can do, is join a medium size server: it won’t be as overloaded as a big server, and wouldn’t cause as much strain on the fediverse as a personal server.
I would think that updating 50.000 Lemmy instances would have a similar performance effect of 50.000 Lemmy users browsing one instance. In that case instance with one user won’t benefit the Fedeverse, but shouldn’t be an issue either.
I would think that updating 50.000 Lemmy instances would have a similar performance effect of 50.000 Lemmy users browsing one instance.
Only if the users are browsing All their watched communities 24/7. Otherwise they would only be producing load when they’re interacting with Lemmy.
Do you think the Fediverse would scale to a 1:1000 instance to user ratio?
I can say with full confidence that I have absolutely no idea.
I’ve heard this idea thrown around before, so I take no credit for it: One way to circumvent the issue would be to have actual relay nodes. As in: nodes that don’t hold contents or users themselves, but just “broadcast” incoming messages to several instances, so that the source instances don’t have to. This would of course have its own drawbacks and limitations, but it would alleviate the bottleneck.
I’m sure some kind of solution will be found though. Call me optimistic, but I think the lemmi/binniverse has a bright future ahead of it. I, for one, have burned my reddit bridges.
@sab @eleitl There are ActivityPub relays already: https://github.com/brodi1/activitypub-relays
Good to know, thanks!
Or use crypto. Generate keypairs, sign updates. Add support for delegating updates to other instances.
Maybe add support for having instances getting data to indicate if they’re willing to relay update data to others, and have main instance refer to them for a certain time period, say… 6 hours maybe?
Relay willingness would depend on instance config and load, ideally.
Edit: any reason I’m getting down votes? If there is a problem with the approach, at least leave a comment.
Edit2: Crypto as in CRYPTOGRAPHY! Which has been shortened to crypto since long before bitcoin was invented. If this was some non-tech forum I could understand, but a community about self hosting and no one seems to be making the obvious connection? Wow. And you guys host stuff, that’s just scary.
Yes, we all know crypto and scalability go hand in hand /s
You thought I was talking about cryptocurrencies? Really? You read that, saw crypto, public/private keys, signing data, and thought “He’s talking about cryptocurrencies, and surely not cryptography!” ??
Seriously? Wow… I sincerely hope you’re not hosting anything public, and if you do, consider shutting it down and step away from the server until you have a bit more technical insight.
After you explained it a bit further in another comment it was pretty obvious you didn’t mean cryrocurrencies. I really did latch onto “crypto” as cryptocurrency, unfortunately the case for a lot of people.
No down vote from me, but surely by now you know how people feel about crypto.
At any rate, I don’t think an immutable ledger is desirable for speech (what’s the point of moderation), perhaps more something like torrent would be preferable. And, as someone else mentioned, relay software already exists.
Who said anything about immutable ledger? I was talking about signing updates so it can be verified when relayed through untrusted third parties.
So if lemmy.world sends an update to lemmy.selfhosted.guy and then lemmy.anotherselfhosted.guy federates with lemmy.world, lemmy.world can then say “Hey, here’s my public key, lemmy.selfhosted.guy have a copy of my data and is willing to be delegated to, you can get the data from him” and then lemmy.world doesn’t have to distribute it’s changes to everyone itself, but maybe just update 5-10 hosts. And the number of relays will scale with the network.
And thanks to the data being signed, you can trust the updates from lemmy.selfhosted.guy being from lemmy.world and not been tampered with, keeping lemmy.world as the authority of the data, even if you don’t trust lemmy.selfhosted.guy.
Edit: This would also mean all the small self hosted instances will boost the network instead of threatening to overload it.
My bad, I thought you meant the other crypto (as did everyone else, presumably). I know cryptography was first, but I think it’s safe to say that that abbreviation has been irrevocably tainted.
yeah, I’m slowly starting to realize that. That a few misunderstood, I could see that. If you’re new to things you’ve probably only heard in connection to cryptocurrencies. But everyone misunderstanding? It’s really shocking. Especially since the context should have made it obvious.
As developer we have crypto libraries. Crypto systems. Crypto layers. Crypto functions… And so on.
Crypto is cryptography. Cryptocurrencies are just a small thing, using cryptography. To have that “take over” the crypto word completely is as unnerving as waking up one day and mentioning to someone you washed your face this morning and they respond “What, like, the screen?” and then discover everyone only thinking of facebook, even with the context.
I’m sorry, I’m rambling. It’s just so unbelievable to me to have this happen in a forum focusing on self hosting services. Where crypto should (hopefully) be daily bread and butter.
I’m running my own instance with 2 users. I’m not noticing any slowdown.
I spun up an instance, I have about 30 users, the other .nz instance has about 10x that.
@itpcc@lemmy.world Find a smaller instance that suits your ethos and help build that instance’s local communities and subscribe to the larger ones you want
Me too, works great!
I setup a server that does not store any data so as to keep browsing fast for people using it. Its at lemmy.myserv.one and you can try it. Nothing really is posted there so it’s basically just so you can no overload another instance like lemmy.world.
Anything in particular you did so it does not store any data? I’m thinking I should try out the same on a cheap VPS.
You font make any communities and clear the database of cached content thats no longer needed after reasonable amount of time (as its hosted on the other instances the data came from) eg: PGPASSWORD=password psql --dbname=database --username=username --command=“DELETE FROM activity WHERE published < NOW() - INTERVAL ‘7 days’;”
Does stop top month or top year since you dont have data going that far back. Obviously if you keep it then you need more disk space, memory and so on and so on.
I’ve noticed that both Lemmy and Mastodon are slow as shit.
You’re on lemmy.world, it’s been overloaded for days.
My private instance has been as snappy as can be, everything loads instantly. That’s one of the nice features is if your instance has trouble you can just use another one.
Don’t join the largest instances then. Lemmy.world is over loaded and mastodon.social is historically overloaded.
I’ve noticed that both Lemmy and Mastodon are slow as shit.