I'm running an experiment to see how viable it is to use ARM CPUs for Mastodon. I know they work great for smaller instances, but not sure how well they'd handle 3 million daily Sidekiq jobs. So far they're doing really good once I started to fine tune the settings and lower the thread count to 10 per core instead of 25 per core.
Total cost is about $8.74 per core and they only run Sidekiq services.
Oh, and I was able to throw 3000 Sidekiq jobs into the queue and it handled them all within a few seconds so that's a good sign.
@KuJoe I see Observium on the screenshot, nice :)
@Filet I’m a big fan of Observium, such a great app for monitoring resources.
@KuJoe likewise, Observium is Great. the only problem I have is that its LibreNMS fork also has support for Nagios plugins. I would prefer to use both :))
@KuJoe Cool! The setup is just missing PoE as power supply and some nice casing.
Is the cost the electricity per month or the investment for the hardware?
Are you using k8s for orchestration?
@jpl I would love to do PoE but while the NICs do supposedly support it, it’s disabled by the board maker for some reason.
The cost is for the hardware (Orange Pi + heatsink case). I excluded the cost of the SD card because I had a bunch already.
Not using k8s but definitely considering it for future tests.
Our instance runs on @netcup's VPS 3000 ARM G11, i.e. a 12 core KVM VM on Neoverse-N1 #ARM64 server hardware.
We don't have a lot of users yet. However, when users with >1K followers moved to our server, the #sidekiq queue did grow (running the default install of Mastodon, no Docker).
So we used the opportunity to do the configuration tuning that had worked well when some of us scaled an AMD64-based Mastodon instance previously: create several sidekiq processes by copying and adapting a systemd service file – roughly as detailed by @leah here: https://leah.is/posts/scaling-the-mastodon/
This sped up sidekiq enormously – as it had done earlier on different hardware.
To sum up, we highly recommend ARM hardware for running Mastodon instances because it eats less energy and performs well enough.