Hello there!
It has been a while since our last update, but it’s about time to address the elephant in the room: downtimes. Lemmy.World has been having multiple downtimes a day for quite a while now. And we want to take the time to address some of the concerns and misconceptions that have been spread in chatrooms, memes and various comments in Lemmy communities.
So let’s go over some of these misconceptions together.
“Lemmy.World is too big and that is bad for the fediverse”.
While one thing is true, we are the biggest Lemmy instance, we are far from the biggest in the Fediverse. If you want actual numbers you can have a look here: https://fedidb.org/network
The entire Lemmy fediverse is still in its infancy and even though we don’t like to compare ourselves to Reddit it gives you something comparable. The entire amount of Lemmy users on all instances combined is currently 444,876 which is still nothing compared to a medium sized subreddit. There are some points that can be made that it is better to spread the load of users and communities across other instances, but let us make it clear that this is not a technical problem.
And even in a decentralised system, there will always be bigger and smaller blocks within; such would be the nature of any platform looking to be shaped by its members.
“Lemmy.World should close down registrations”
Lemmy.World is being linked in a number of Reddit subreddits and in Lemmy apps. Imagine if new users land here and they have no way to sign up. We have to assume that most new users have no information on how the Fediverse works and making them read a full page of what’s what would scare a lot of those people off. They probably wouldn’t even take the time to read why registrations would be closed, move on and not join the Fediverse at all. What we want to do, however, is inform the users before they sign up, without closing registrations. The option is already built into Lemmy but only available on Lemmy.ml - so a ticket was created with the development team to make these available to other instance Admins. Here is the post on Lemmy Github.
Which brings us to the third point:
“Lemmy.World can not handle the load, that’s why the server is down all the time”
This is simply not true. There are no financial issues to upgrade the hardware, should that be required; but that is not the solution to this problem.
The problem is that for a couple of hours every day we are under a DDOS attack. It’s a never-ending game of whack-a-mole where we close one attack vector and they’ll start using another one. Without going too much into detail and expose too much, there are some very ‘expensive’ sql queries in Lemmy - actions or features that take up seconds instead of milliseconds to execute. And by by executing them by the thousand a minute you can overload the database server.
So who is attacking us? One thing that is clear is that those responsible of these attacks know the ins and outs of Lemmy. They know which database requests are the most taxing and they are always quick to find another as soon as we close one off. That’s one of the only things we know for sure about our attackers. Being the biggest instance and having defederated with a couple of instances has made us a target.
“Why do they need another sysop who works for free”
Everyone involved with LW works as a volunteer. The money that is donated goes to operational costs only - so hardware and infrastructure. And while we understand that working as a volunteer is not for everyone, nobody is forcing anyone to do anything. As a volunteer you decide how much of your free time you are willing to spend on this project, a service that is also being provided for free.
We will leave this thread pinned locally for a while and we will try to reply to genuine questions or concerns as soon as we can.
Im a data engineer with 20+ years of experience in sql and various databases, I do performance tuning on daily basis. How can I help? Please message me if you think you can use me. Id be very happy to help where I can!
Possibly not ideal for you as a data engineer, but you could try skimming down the GitHub database issues?
Id rather someone just point me to the problematic query obviously. Would be much easier and better use of my time than to run my own instance and fake data into tables to see where the bottle neck is …
I’m sure if you got in touch with the lemmy.world team and they made sure you weren’t sketchy, they would help you get what you need to effectively find the root of the issues.
Also, hello from a less-experienced, not-sure-if-I-can-call-myself-a-data-engineer-yet data… person? Props for considering lending a hand to the instance!
Here is one I looked at a while back and tried my hand at. Some guidance would be greatly appreciated since, as I say in the issue, I’m not that much of a DB guy.
Here are some of the main culprits: https://github.com/LemmyNet/lemmy/issues/2877
How about this for starters
EDIT: This discussion seems even more relevant
Fixed Link
EDIT: Kinda fixed? Is Lemmy stripping special characters? Is it my app client (Memmy)?
People like you are the saviors
If you can start poking around in their GitHub.
I have huge respect for data engineers. Talk about unsung heroes. Thank you for everything you do.
Oracle gives me a headache thinking about it and once things get complicated with an enormous amount of tables and data, I leave it to people who know better. I will go back to programming PLCs, explaining how a warehouse control system works, and writing code in too many languages at once. That is my happy place. The big bad database can stay over there while I make machinery do my bidding.
Oh sure, these people get a couple of lonely hearts to have lunch or dinner together a few times, maybe go out to a movie or a show, and then what? Arranged marriages? – oh wait. That’s “data” engineer … never mind.
deleted by creator
deleted by creator
If you’re serious about this, there’s a post up calling for sysops: https://lemmy.world/post/2769245
It’s somewhat of a commitment, rather than drop-in drop-out… but that’s what it takes to make a difference here. There are already several sharp and experienced database engineers working on the Lemmy world team. The problem is that the site is under repeated denial of service attack, and there isn’t one bad query to fix… each time one query gets addressed, the attackers move on to a new one.
While it’s always possible that someone has missed a silver bullet, it’s much more likely that a a series of ongoing independent mitigations and optimizations are needed to achieve a tipping point where lemmy is more or less protectable with some hidden dos-able bits rather than more or less trivially dos-able everywhere.
deleted by creator