As many have noticed, Cligs was not responding to most requests over the past 6 hours. The reasons why this happened is actually a rolling series of problems that cascaded into each other.
Fundamentally, the starting cause was another service hitting the API at a very high rate, on top of the normal traffic. A couple of hours after that started happening, a malicious bot started hitting Cligs requesting random URLs, generating a lot of 404 pages and basically doing nothing useful as far as I can tell. At least this bot was kind to limit itself to just 1 request a second, but it couldn’t have come at a worse time.
So I blocked both, reconfigured MySQL and Apache (both of which were straining under the load) and now Cligs is back up again.
This is a temporary fix as I redesign some fundamental things about Cligs to make it more resilient. What the past few hours have exposed is a weakness in the code and architecture that need to be addressed.