this post was submitted on 22 Jun 2023
29 points (96.8% liked)

Selfhosted

38768 readers
339 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I have a domain name that I own but am not making use of and was thinking of setting up my own personal Lemmy instance, partly so I can have a Lemmy id and instance that I can completely control, partly so that I can contribute directly to my hosting cost, and partly because it might be fun to tinker with (or it might just end up being a pain; I'm still trying to figure out which is the case).

However, from this comment it sounds like, rather than contributing to horizontal scaling and easing the load on other servers, I might actually end up increasing the load on other servers by adding yet another server that the other servers have to talk to in order to keep my server updated on the latest comments and posts to which I am subscribed.

So given this, would self-hosting a personal instance actually make things worse for everyone else and thus be an irresponsible action at this time and/or for the foreseeable future? Because the last thing that I want to do is to inadvertently add a burden to the fediverse!

top 14 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 1 year ago (1 children)

It's been said here that accessing content from the large servers via a federation connection is less taxing on the servers than accessing them directly, so there's that.

[–] [email protected] 1 points 1 year ago (2 children)

I’m thinking this would be the case if your instance had more than 1 user subscribed to that community in the large instance - but if it is just you, wouldn’t it be similar to accessing each instance and viewing the communities there?

[–] [email protected] 6 points 1 year ago

No. Operations like removing blocked user comments, tracking your subscriptions themselves (showing only yours when you're on teh subscription tab), and tracking your sessions are all database heavy operations. You would be trading database heavy operations with "origin needs to send activity pub messages" to you. Activitypub messages were already being generated and is simply just also sent to you... it's very little network traffic and that's it.

As long as your instance views most content it receives at least once... you're well above par for doing your work to lighten the load on the origin server.

[–] [email protected] 1 points 1 year ago

As I understand it, there are two kinds of costs that need to be considered: the cost of viewing content, and the cost of receiving content. The first is incurred every time you access your instance and is limited to your instance, whereas the latter is incurred every time something you've subscribed to has received an update, and is incurred not only by your instance but also by the server hosting the community. My concern is that, while hosting my own instance would reduce the load on other servers by absorbing the first kind of cost, it would also increase the load on other servers by increasing the second kind of cost.

[–] [email protected] 7 points 1 year ago

Oh interesting, I'm curious on the answer to this as well.

[–] [email protected] 6 points 1 year ago

Hey that’s me!

If you’re excited, hop on, as have I! The protocol related scaling issue will resolve itself over time; a few of us are throwing ideas out and hoping some will stick with the developers.

But just bear in mind that you’re not adding to the network scaling because federation on the big servers will not be alleviated by you (or me) having an extra instance.

[–] [email protected] 4 points 1 year ago

For my personally, I'm hosting an instance so that I can play with it, but also so that I can test new functionality, and help fix issues.

So I think if you are concerned about being a burden, then actively use your instance for the betterment of lemmy!

[–] [email protected] 3 points 1 year ago

The impact either way is minimal, so if it is something you enjoy doing go for it. Maybe it will turn into a slightly larger instance for your friends over time and then it can have a positive impact.

[–] [email protected] 2 points 1 year ago (1 children)

As what I understood, actually it makes things worse. This shouldn't be the case because the concept of fediverse itself is to have a lot of many instances communicating with each other.

The problem is the Lemmy is still a young project and we weren't expecting all this explosion in users. activityPub implementation doesn't scale well for now and so adding a new instance theoretically makes things worse.

But this is something that devs have as a high priority, in my opinion, because is very important to have instances correctly communicating with each other, otherwise the concept of federation falls.

[–] [email protected] 5 points 1 year ago (1 children)

When I first heard of the fediverse without understanding the architecture I envisioned something like torrent networks, where the larger the network the stronger the network. After learning more I'm not sure that's the case yet. Hopefully that is the endgame.

I would want to be in a place where I could enrich an existing community by self-hosting and synching content of that community and offering my small chunk of bandwidth to that community. I realize there is no community synching between instances, but I feel that's where it should be to prevent corporate control of communities in the future.

[–] [email protected] 1 points 1 year ago

You can read the ActivityPub protocol... I don't think it will become like bittorrent, as there peer-to-peer concept doesn't seem to exist in the spec.

Having said that, while we are running into implementation limitations on the larger instances, the problems are being tackled. A couple of us are chatting on [[email protected]](/c/[email protected]) and [[email protected]](/c/[email protected]) to see if we can come up with good ideas to present to the devs to help Lemmy scale. You're most certainly welcome to join in on the fun!

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

ActivityPub traffics are not that heavy. The activities are queued in the background and processed by a pool of dedicated workers, so no matter how long the queue, they should not bog the webserver down. Each entry in the queue does occupy some memory, but should be negligible.

I would say that an active users subscribing to a community using their own instance is actually generating less server load to the subscribed community's instance compared to a user in that instance actively interacting with the community directly. But, if you subscribe using a personal instance but never actually use it (never logging in, never interacting with the community, never lurking in any discussion, basically forgot it exists), then yeah, you're probably a dead weight, albeit a tiny one.

[–] [email protected] 1 points 1 year ago

Whether the comment is true or not, I feel like part of federation is the exercise of this freedom. If Lemmy can't support this paradigm, then the answer is that it needs to adapt and overcome these limitations, not that we need to adapt to its limitations.

Making new instances into the federation will bring this problem further into the attention of the developers and probably pressure them to improve that specific weakness in Lemmy.

At least that's my theory.

[–] [email protected] 0 points 1 year ago

Having all the servers you want content from pushing duplicate data out just for you would increase load. You as a single user on an instance that already receives that data is a significantly smaller footprint. Only people truly interested in running a public instance and all the associated work that comes with it should really spin up instances. Contributing monetarily to your favorite instance would be much more sustainable.