Hey all. I’d just like to clarify on why Escargot’s server tends to have slowdowns as I now have enough information to draw a conclusion.
For anyone who’s not in the know, Escargot right now runs on Google Compute Engine’s platform, which allows us to own a hosting server for a fee, and in our case lets us host Escargot for everyone. According to valtron the server Escargot runs from is a shared core server with around 0.6 GB of RAM (this explains why Escargot would previously crash with 1.0k users, I added in 1.5 GB of swap memory recently and the server’s now able to handle ~1.5k users) and 1 vCPU (virtual CPU). As far as I know, this is what Escargot has been running on for more than 3 years. The catch comes in with the vCPU. The plan our server is on (
f1-micro; $3.88/mo) is designed so that it throttles CPU power by 80%, only removing that restriction in very short time periods in certain conditions (Google goes into detail about this here). In other words, as our server experiences peak hours, the CPU throttling prevents the CPU from keeping up with the heavier load and causes noticeable and major slowdowns.
When it comes to solutions, we’re very limited on those. One, the restrictions are part of our plan, as I said before, so we can’t just hack those options out. Two, the plan we’re using is actually the cheapest Google offers. The plan just above ours that decreases the CPU throttle to 50% (doesn’t help much) is around $9.25 above our current plan, and the cheapest that allows us to fully utilize CPU power is around $20.10 above our current plan. While it doesn’t sound like much, with bandwidth and other costs (plus the fact valtron doesn’t have any dedicated sources of income for Escargot other than his full time job) it can add up quickly. With all of this coming in full circle, Google’s other server plans aren’t ideal for us so upgrading to those won’t be possible. We’re also aware having full CPU power won’t stop the server from overloading and crashing with lots of users on, but we’d rather have the server run smoothly before crashing instead of experiencing large amounts of lag trying to respond to user sessions. Me and valtron however have agreed on looking into other hosting providers when we can, so there’ll definitely be some sort of solution to this in the future. I just wanted to update everyone on our current situations and keep things transparent about the project.