Post by @stefano
There are 48 local accounts on this instance.
It may not be extremely active, but SQLite is handling the workload very well. The load is currently close to zero, even though littleFedi is running on a cheap VPS with 2 cores and 4 GB of RAM. It handles federation, lazy media caching, housekeeping and the usual background work
while using around 600 MB of RSS.
That figure represents the whole process footprint - not just the post cache - and includes the Go heap, reusable allocations, buffers and SQLite memory mappings.
When an incoming post is relevant to a local user, littleFedi inserts it into that user’s materialized home feed in SQLite at ingest time. Opening the home timeline therefore requires an indexed read instead of rebuilding it from follows and followed hashtags. A bounded in-memory cache also keeps hot entities, timeline windows and rendered pages ready, while a background warmer refreshes the timelines of recently active users.
Cache misses, restarts and evictions still fall back to SQLite, but the normal warm path is very fast. The bubble timeline also uses the cache, although its cold database path still needs quite a bit of work.
For comparison, my single-user instance on a Raspberry Pi Zero 2 W uses around 60 MB of RSS a few seconds after browsing around.
Go’s garbage collector runs automatically and reclaims unreachable heap objects. Some memory may remain reserved for reuse, however, so RSS does not necessarily fall immediately after a collection cycle.
littleFedi isn’t trying to compete with snac on minimalism - snac is awesome and remains the best solution for many scenarios. The goal is to offer a different experience while remaining usable across a wide range of hardware platforms and operating systems.
@stefano
Hi Stefano, I'm really anticipating the release of littleFedi! Sounds like a fun little project to dive into :)
I have a question about two of your other projects, what would you consider the best alternative to a 20+ year old non-profit's Wordpress instance, BSSG or ITNBlog?
The blog is updated by non-tech people and it has to be as simple as possible for them. I'm mostly interested in Marie Kondo'ing the current solution ;)
@voipmeister@social.datarek.nl @@stefano@littleone.littlefedi.social hello! Thank you! At the moment, itnblog hasn’t been released so there’s only BSSG. It could be the right tool but sure, it’s quite “manual” 😉