Likely Saturday, 1st of November.
We need to do some server OS upgrades and a some other things that will cause a few hours downtime.
Maybe I will already start with some smaller things this week, that should only cause a short down-time for reboots.
Once that is done, I will look into running a Piefed test instance to investigate how to do the database migration from Lemmy. If everything goes smoothly, we might be able to do the Lemmy to Piefed migration end of this year or early next year.
The main os upgrade has been completed, but some smaller changes remain but those should not take the instance off-line for more than a few minutes for a reboot.
Why piefed?
From this thread (edited here to add a couple extra features).
Piefed has some neat features:
- a very nice gallery view for image heavy communities.
- the ability to combine comments from multiple communities under one post, if the same link was posted to all of them. You can see an example of that here (notice how the comments have dividers for each community).
- the ability to create and subscribe to a pre-made list of communities, sorta like a multi-reddit.
- More powerful and fleshed out moderation tools.
- An integrated Wiki, which any moderator can use to create a wiki page for their communities (We already offer this through our existing wiki, but Piefed’s implementation is potentially more seamless).
On the sysadmin side of things, it’d bring some nice advantages regarding network resource usage, and potentially raw speed. It also appears to be less buggy overall.
Appreciate the mention, seems pretty justified, hope it goes well
Ah very cool, from a dev side of view it’s very cool that Lemmy is written in rust, but that also is showing it’s downside like slower development process and the performance is only as good as you make it I guess.
Yeah, in theory the memory-safe nature of Rust is appealing, but unfortunately it also still seems to come with some unrelated downsides. I’m sure @poVoq@slrpnk.net could go into more detail there :p
It seems that while lemmy could implement similar resource usage improvements, it would otherwise be only slightly faster than Piefed, as it appears that once those other optimizations are made, the main bottleneck on performance is the database itself, and at that point the language the frontend is written in doesn’t seem to make much of a practical difference. At least, that’s what I’ve been told.
I didn’t know a migration to piefed was planned, why the need to migrate?
(A link to a discussion would also be appreciated)
There have been various discussions over the last months in different places. ProdicalFrog has already explained what some of the additional features of Piefed are. But the core issue with Lemmy is really that it is very annoying to run and maintain, has huge memory issues (ironically given that it is written in Rust) that the devs ignore since years, and the image integration is a stuff of nightmares. In addition, the upstream devs are often actively hostile to sensible suggestions how to improve things and the proposed solutions by them often make things actively worse (latest case in point: the next version will hardcode lemmy.ml as a source to pre-fetch popular communities). After nearly 5 years of running Lemmy, I am ready to cut my losses and rather give Piefed a try, and so far the devs and community around it has been very welcoming and actually have lots of sensible ideas.
(latest case in point: the next version will hardcode lemmy.ml as a source to pre-fetch popular communities
🤦♂️ Yeah, maybe piefed is better actually, damn kinda liked it here.
Hi, tourist to slrpnk here. Just caught this. Cool to see you’re planning to move to Piefed, but what does “hardcode lemmy.ml as a source to pre-fetch popular communities” mean in practice. I did Matrix you, so sorry for double-ping (I just discovered you were in the piefed chat) but this seems like quite an outrageous concept.
It is an attempt to pre-populate new instances with some popular communities which is seen as a way to improve discoverability. I find the general concept of using “popularity” for that to be somewhat problematic, but the main issue I have with the actual implementation is that it uses lemmy.ml as the source of truth for that, and there is no way to change that*. I have since learned that it is possible to entirely turn off that new feature and thus have the current behavior, but then you basically have the choice between two bad options and it feels like malicious compliance to a request to improve discoverability.
*the dev explained to me on the Matrix chat that there are some technical reasons for that, but it reeks like a convenient shortcut to a difficult problem, that causes more harm than good.
has huge memory issues (ironically given that it is written in Rust) that the devs ignore since years,
What exactly do you mean by this? Did you report it on Github?
the next version will hardcode lemmy.ml as a source to pre-fetch popular communities
To be clear it uses the lemmy.ml api to get a list of most active communities. Most of these communities are not hosted on lemmy.ml, and the data looks almost identical to that from lemmyverse.net (more details).
What exactly do you mean by this? Did you report it on Github?
The Lemmy backend causes the Postgres database to use more and more RAM, to the point that it crashes with out of memory issues randomly and causes other processes to go down with it. I have reported the issue multiple times and I am not the only one with the problem since many years, but apparently you think this is a Postgres misconfiguration issue. I tried a lot of settings regarding the Postgres config but it doesn’t change much. Different versions of Lemmy had this issue to different levels of severity though, with the newest version being quite bad again after some improvements in earlier versions. I think other instances have largely given up on fixing this as well and just regularly restart the Lemmy backend, which resets the RAM use of the database.
To be clear it uses the lemmy.ml api to get a list of most active communities. Most of these communities are not hosted on lemmy.ml, and the data looks almost identical to that from lemmyverse.net (more details).
The idea of a centralized source of popular communities is generally bad and if you want a way to have better discoverability the source of it should be left up to instance admins to decide. I agree that lemmyverse.net also wouldn’t be a good choice for that, and admitably I am not happy about Piedfed using that for similar purposes, but at least it is much easier to modify that behavior in the Piefed.
Hmm on lemmy.ml we dont have such a problem with RAM usage by Postgres. In our case total RAM usage is quite stable with 10 - 16 GB over the past month. Its also strange that restarting Lemmy would solve the problem, I would expect that you have to restart Postgres.
The list of popular communities is only loaded when a new instance is setup for the first time. For existing instances like slrpnk.net it wont be used at all.
This is exiting news! Fingers crossed that this process goes as smoothly as possible for you, and thank you for everything.





