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!
Oh interesting, I’m curious on the answer to this as well.
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.
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?
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.
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.
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.
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!
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.
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.
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.
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
!lemmyperformance@lemmy.ml
and!lemmyfederation@lemmy.ml
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!
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.