Hardware specs for an Akkoma server that should manage ~30000 users, ~2000 active users per month, ~5000 active users per year

Hello all,
is it possible to know the hardware specs for an Akkoma server that should manage ~30000 users, ~2000 active users per month, ~5000 active users per year? It is currently running Mastodon, but we’d like to move to some other fediverse platform and Akkoma seems just great. We only have doubts about the hardware specs to make it run smoothly. The Mastodon instance currently has 20679 users, 1141 active users last month, 4351 active users last year, and we don’t plan to scale it up over 30000 users.
Also: is some tool available to do a mass migration of our current users base? Or, at least, can each Mastodon user move their accounts (followers included) to Akkoma? Would their posts be movable too, in some way or another?
Thanks a lot for any help :slightly_smiling_face:

2 Likes

I am going to be very honest with you here and say I have legitimately no idea what sort of spec would be required to get that level of usage - it is 30x more than the current biggest instance, so we’ve no real frame of reference

the heaviest part of the system is the database, that eats most resources, so you’d likely want a dedicated host for it at this level.

the best I can give you is the specs of one of the current largest instances, sitting at about 1000 users -they run with 4gb ram and 2 vcpu for their db server and apparently the main application server does not eat much at all

2 Likes

as for migration, user account migration is possible, it will bring followers and followed accounts across

however posts will be lost

there are legends of someone managing to do a database-level migration but I know little about it

2 Likes

Thanks a lot :slight_smile:

Do you think it could be possible to add a “Redis layer” above postgresql, without changing the codebase? Or it would be necessary to change it? And do you think it could help?

About testing Akkoma: do you know if there is a way to “stress test” a test instance as if it was populated by a given number of users and active users per month?

Also: do you possibly know if MastodonFE is already translated to italian language? I have tried it only on one Akkoma instance, and it’s only in english language there, but it could be a misconfiguration problem on that instance; otherwise, if it’s just that MastodonFE is currently only available in english, do you think it would be possible to contribute at least an italian translation to it?

Last but not least: in case Meta(stasis)+Mastodon+W3C will modify ActivityPub in such a way that its next releases would require Akkoma and other platforms to use those new releases and their modifications in order to be able to continue “talking” with Threads, Mastodon, and maybe other platforms, would Akkoma (and hopefully other platforms) stick to the current ActivityPub release, or fork it, or even write a new, better federative protocol, renouncing the possibility to “talk” to Threads, Mastodon, and maybe other platforms?

apologies for the delay, christmas stuff

Do you think it could be possible to add a “Redis layer” above postgresql, without changing the codebase?

no need, elixir already has its own inbuild caching system (in-memory) called Cachex which is used for a lot of things like user data.

do you know if there is a way to “stress test” a test instance as if it was populated by a given number of users and active users per month?

honestly i’ve never even thought about it - a lot of the stress generated by an instance is from external posts being sent and ballooning the database, so it’s quite hard to test that sort of thing in isolation. It would technically be possible to set up a test instance on some subdomain and create any number of users, but it wouldn’t act like normal users… not sure on this one.

do you possibly know if MastodonFE is already translated to italian language?

i would imagine so, but i’m not sure if our mastodonFE integration is able to switch languages; it’s one of the things i really have to get around to, properly wiring it in. I’ll check and get back to you.

in case Meta(stasis)+Mastodon+W3C will modify ActivityPub in such a way that its next …

hehe, you probably underestimate how much inertia there is in the AP spec - it would be massively difficult for meta+co to change it since there’s already so many people using the current implementation. we’ve actually seen something like this happen before - the HTTP signature specification we all use to authenticate between servers is an ancient, outdated draft but nobody has moved onto the new version because it’d break all compatibility.

from a philosophical angle (since this is unlikely to happen), mastodon sadly does make up the majority of the network and de facto their implementation is the “standard”, if they were to change things, we’d have to look at what they’re changing and debate if it was worth it - i don’t think there’s a blanket “we’d go with them” or “we’d stay”, but giving up federation with masto would be a very hard choice to make

1 Like

Thank you so much :slight_smile:

Yes, i probably underestimated that, but even if i did, to me the problem is not much the possibility for Meta to change ActivityPub, than the political one that would remain almost the same: when Meta will be fully or mostly AP compatible and will let all its Threads users follow and be followed from the rest of the Fediverse, opening the way for other big-medium sized bad shit players like maybe Microsoft, Apple, and surely down to many others, a very large part of current users of the Fediverse as it is now, certainly more than 50 percent, will be on instances which don’t block threads (and wouldn’t block the others), so, mostly out of ignorance or carelessness, they could decide, and in most cases will, to let their accounts be followed by accounts on Threads, so Meta will scrape not only their public posts, which it declaredly does, but also their “less public” posts (“followers only” posts, or the like on other Fedi platforms) too, and even “direct messages”, those which will mention at least one Threads account; all of which is total shit.

I have no illusions that a new protocol permitting its use only in open source products would be used by many from the start, and maybe it would take long for it to gain traction, or maybe it would never exit the “niche” status, but it would be good all the same even in these cases, and i think there is the possibility that it would gain a lot of traction, soon or later. But, again, i think it would be good if it existed even if it was never to exit the “niche” status.

Please have a read at this thread on the Fediverse, if and when you’re interested :slightly_smiling_face:

Anyway, thank you so much again for your replies :slightly_smiling_face: