Thoughts? Seems like we are one of the only bigger instances with open sign ups still as well.
Edit: didn’t mean to start any instance tribalism. Like others have said, its not a competition, and its better that users are spread across instances than piling into one. Just think it’s interesting to watch the different instances grow and change and see where people end up congregating.
I have no thoughts, but it shouldn’t be a competition and it should be shared across all instances to avoid one instance being dominated/too expensive to host
That’s right. I hope Lemmy.world isn’t heading in that direction and Ruud has to take it down because it costs too much money to run the servers.
Lemmy.world is hosted by the same people as mastodon.world, a top 10 biggest server on mastodon. If any instance is capable of dealing with the increased traffic it’s this one
That’s great! I was not aware of that.
lemmy.world has the IT Operations technical experience to keep their site up, the others need to catch up.
I’m developing some Kubernetes tools to make it easy for people to create their own scalable instances like lemmy.world has, so I’m hoping that that can make it a bit easier.
Sorry, let me clarify. My point was that I hope Ruud doesn’t have to start shelling out thousands of dollars because everyone decides to register there and he needs to keep increasing capacity.
Thing is, lemmy doesn’t support clustering/horizontal scaling. So there are limits to how much increasing you can do. You can beef up with a database cluster, add a separate reverse proxy, and increase the specs of the hardware lemmy is running on (but hardware can’t be expanded limitless), but that’s about it. Once you hit the limit of what a single instance of the lemmy software can handle, you cannot scale anymore. Pretty sure you will hit the limit long before you reach thousands of dollars.
Hopefully by then, Lemmy’s source is augmented to support HA/horizontal scaling
Yeah. But horizontal scaling (well horizontal scaling in a system like this where you need clustering so the instances talk to each other) is hard. And I think there are a lot of other things that need to be polished, added and worked on before that. It would probably also need somebody with knowledge of clustering to start contributing. I think step 1 needs to be that the dev team needs more help properly tuning the database use. The database is very inefficient, and they lack the skill to improve it:
We are in desperate need of SQL experts, as my SQL skills are very mediocre. https://github.com/LemmyNet/lemmy/issues/2877
So getting help improving the database is probably the #1 thing that can be done to deal with the scaling problem.
I fully agree - there’s no excuse why the DB should be falling over when I’ve seen a single postgres instance (with a read replica, granted) handle >1M users just fine.
Unfortunately my SQL skills haven’t improved since my DB class in university, so I won’t be much help. I’ll be keeping an eye on the repo of course, and I can give some consulting/guidance or even open some PRs myself when they decide to implement horizontal scaling.
Yeah, I think a single postgres cluster with read replicas should be able to handle the needs of a single instance just fine. You can then horizontally scale the backend and frontend to keep up using containers.
Ideally, that instance can scale up to a few million users, and then federation can provide the horizontal scaling that takes the lemmyverse up to Reddit scale.
The backend just needs to handle databases better. Adding support for read replicas, making it more efficient, etc.
Not sure how well pict-rs scales, but that’s probably pretty light already, vertical scaling might be good enough that it’ll always be limited by the DB.
But yeah, I guess the worst case scenario is that Postgres doesn’t scale enough and we need to switch to something like cockroachdb. Or go for snowflake uuids and noSQL like Twitter did back in the day.
I believe that’s mostly because of websockets. The devs are changing the UIs from using websockets to just normal html rest api calls. That should help with a lot of load, since you will have to manually hit refresh to reload the site (like reddit), and will allow scaling horizontally since each html request doesn’t need to run on the same server as the previous request.
Getting rid of websockets would help a lot. But you still might not be able to have standalone nodes. You might still need a cluster of nodes with a master and slaves due to the federated nature of lemmy. Such that only one node at a time can handles federation events with other servers. I don’t know enough about the protocol to know if that is the case or not. Just as an example I’m thinking of situations where one node gets a federation event for example for a post, then a different node gets a federation event with some sort of change to that post, and handles it faster than the first node. That event would then fail because the post hasn’t been created yet.
Interesting. I didn’t think of that. Maybe some sort of queue would help, but yeah not sure. Maybe the protocol can handle that already. I’ll have to read through it at some point. :-)
Oh yeah, definitely.
I’m developing some Kubernetes tools to make it easy for people to create their own scalable instances like lemmy.world has, so I’m hoping that that can make it a bit easier.
That sounds amazing.
You can follow the discussion about Kubernetes configuration and official Kubernetes support over on Github
I’m Justin on the issue thread.
Well by that point I imagine he would just shut down open registration and no new users could join this instance.
And with the beauty of federation, that wouldn’t really prevent growth. People would just need to join another instance and they would still get all the content from here.
Completely agreed! I find it interesting how lemmy.world is growing fast, but we still have way less posts and comments than others or comparable populations. Obviously because we haven’t been around as long.
Makes sense. World is open to pretty much anything and anyone, beehaw, I don’t quite get what they want. They said that if in the registration form you only write that you come from Reddit, you won’t be approved. I guess I just don’t vibe with that perspective, especially since they don’t explain what they want exactly.
Anyway honestly, until the Lemmy protocols and synchronization get well ironed out (automatic comm propagation, syncing comments from before discovery), I actually think it’s better for people to be on the few larger instances to minimize confusions.
When choosing where to go between World Beehaw and Sh.itjust.works, I basically thought She.ithust.works would not be something that I would remember when searching for the web page, and felt a bit not enough serious. Beehaw was from what I read nice and serious but then when trying to register on it I saw I had to write a reason to why I come here. I wrote something and then didn’t even apply and tried lemmy.world, if I’m asked those questions now I told myself it might be even more annoying later on
Huh, I’ve had a pretty good impression from Beehaw from the limited time I’ve spent on Lemmy. Granted, I’ve not actually tried to register there, I just went to Feddit and was approved nigh instantly.
Although it really shouldn’t be hard pin down what kind of community they want to build on Beehaw, they have several longform posts about this on !support@beehaw.org
I get that writing these little applications and the prospect of rejection is pretty stressful, it had me worried when I first joined Lemmy, too (although I guess Feddit is/was a lot less picky than Beehaw). Ultimately, though, most of these various instances have to keep a lid on how much they grow since their resources are far more limited than lemmy.world
My thought is: It’s more useful to think of total Lemmy users, since it’s all compatible and mostly federated.
agreed! Find it interesting how other popular instances have chosen to turn off signups while we are still chugging along with new people.
Huh, why would they turn off signups? To limit server costs?
They were getting massive influxes of users and wanted to limit that so their servers don’t tank, and probably wanted to give themselves time to plan and upgrade the instance.
The list of instances with user count and other stats: https://lemmy.fediverse.observer/list
Shiny.
yoooo let’s fucking go
i thought it was an annoying precedent how the bees were like ‘if you didn’t answer the registration question to our standards please try again’
I tried twice and was genuine in my answers and still got sent to “account limbo” so lemmy.world is now my permanent home.
Pretty cool. What’s the most populated? Where can I track this info? (I agree it’s not a competition, but am curious.)
Very shiny, thanks.
Yeehaw over Beehaw I guess? /jk (This makes me nostalgic back when IRC networks competed for users). :)
deleted by creator
Is there any difference between servers? I understand that each community is hosted on a specific server and therefore there are local communities to your server, but if you can read all communities across all servers and you can (I guess) post to any community across all servers, then is there any difference at what server you’ve registered?
I don’t think there is, but I read that servers could block others if they wanted to, so I guess it could be a problem if you joined a server that suddenly decided to block another one you wanted to see.
I just picked lemmy.world because it said it was for general interest instead of one particular topic.
@FlaxPicker well that’s pretty neat