As you have no doubt noticed, we've been getting a lot of performance-related "500 Internal Server" errors lately. Because it was especially bad recently, we were able to narrow down the issue to MySQL performance problems. Basically, Neocodex's website and database are hosted on two separate machines, and initially we figured that the problem was with the CPU usage on the server our website is hosted on. However, we now know that it is not the website server, but rather, the database server that was causing the problems.
I opened a support ticket with DreamHost asking about the performance issues we were experiencing with our SQL server, and they replied saying that the sysadmin was working on it earlier today, and that they booted a number of users that were abusing the server. As a result, things seem much faster now.
Hopefully we don't see too many more errors, and if we do, at least we know what to attribute the problem to and we can do something about it.