OK, time for an update on the state of the Akkoma server ... this is about the Akkoma server I set up, not the general state of Akkoma development 😛
After I set up Akkoma on a 1GB RAM VPS yesterday, I could see there were issues. I'd constantly see the Red "502 error" banner at the top of my Akkoma feed for example ... Plus, memory usage (and CPU) on the server was constantly pegged at 100%.
I read somewhere that the CPU usage might be a misleading stat since Akkoma (and Pleroma) uses "busy waiting" to fake out the OS into thinking it's busy when it's not. I don't know if this is what is happening or if the constant low RAM keeps the CPU busy, but either way, that's what I was seeing yesterday.
Somebody suggested that I should enable zRAM since they had good results with zRAM on a 1GB RAM server. So I thought I'd give it a go.
Unfortunately, I couldn't get zRAM enabled on my DigitalOcean VPS despite trying two separate guides on how to do so. Other info I read online seemed to indicate that this might be an issue that others had faced too. Is this DigitalOcean (or their VPS software) specific? I don't know. But I gave it a rest for the moment since I just didn't feel like struggling with it any longer.
I had noticed that my VPS didn't have a swap file set. While researching the zRAM stuff, I came across a DigitalOcean guide on setting up (and tweaking) a swap file for your VPS. I decided to try that and see if that would help ...
And all I can say is, "wow, it makes a huge difference!" 🙂
The CPU load which had been at about 80% - 90% most of the time went down to about 40%. While memory load didn't decrease as much, instead of being almost constantly at 100%, it's now down to about 95%. Best of all, I haven't seen a red "502" banner on my Akkoma feed since I added the swap file 🙂
So if you can add zRAM, it probably will help since it adds a compressed block in memory so that you can store more data in memory. But if you can't, and you don't have a swap enabled, do enable swapping since it makes a huge difference. Hopefully, this helps somebody 🙂