In the sign up process, it discourages using the primary srever. In the docs it talks about performance limitations. In contast Mastadon does not do this. Worse yet, most people think of a single centralized server. And this server only has some 500+ active users a month. Maybe 10 times that many lurkers?
While I love the Lemmy design, and the community looks great, I fear that it does not scale. Worse yet I suspect that the Activity Pub protocol is grossly inefficient for Reddit style applications. Maybe a publish subscribe message broker, like MQTT would be much more efficient.
So what is gong on here. Is this an issue? Am I correct to be scared about Lemmy scalability.
And just for context, I think you are totally on the right track, way ahead of all ofther reddit clones, but maybe just a little off course. Can you crank up performance?
Mastodon will struggle to live on a 1GB RAM system, like most cheap VPS. I host one instance (single-user though) on a ROCK64 with 4GB of RAM, and it takes around 1GB. Lemmy on the other hand takes right around 100MB of RAM, also single-user instance. I guess Lemmy’s developers prefer to stay on the safe side and encourage people to make use of federation as much as possible.
Lemmy is written in Rust while Mastodon is written in Ruby, this likely explains the differences in RAM usage.
Maybe CPU/Disk will scale worse on lemmy because each page loads a lot of comments, while on Mastodon you rarely load more than a few toots at once.
I think you’re right, Mastodon’s CPU/RAM usage seems to be always the same. On Lemmy I can’t really try yet, as federation doesn’t seem to work for me. Once I can get content from other instances I’ll have more information.
I used to host a mastodon instance for just one user, me. It really struggled unfortunately in both speed and space requirements.
I wish they had an option to block all bots from the platform. I can block individuals and instances, but bots would still pop up like crazy.
From lemmy.ca:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
lemmy 17645 0.3 0.3 672368 98876 ? Ssl Aug03 154:51 node dist/js/server.js
lemmy 20959 0.4 0.6 4127676 210048 ? Ssl Aug03 169:59 /home/lemmy/lemmy/target/release/lemmy_server
pictrs 32164 0.0 11.4 10599856 3769764 ? Ssl Jul28 18:50 /home/lemmy/pictrs/pict-rs/pict-rs
iframely 20977 0.0 0.1 901704 55368 ? Ssl Jul08 3:25 iframely
Make of it what you will. :-)
WOW. 100MB is tiny. but Lemmy requires postgress, and a quick google search says Postgres requires minimum of 2 GB or RAM.
I must say that for now there is no content on it, it’s a fresh instance, with federation enabled but still not getting content from others. Once I can start to sync with others, I’ll see if there is any change.
You can use RDS and not host it within the same server.