Well, the problem isn't really so much an issue of not having enough servers. We have servers like you wouldn't believe.
A lot of the time, issues can simply be difficult to track down, and if you switch people to a different server (which in itself can result in some downtime), the problem may very well follow them. For example, these kinds of problems can often be tracked down to a specific user whose usage is "problematic" (ie. regularly and repeatedly running a SELECT on a table with a few hundred thousand rows but no indexes).
Rest assured, whenever there is a problem like this we're usually looking into it. The problem is that after a server crashes, it may take time and/or actually actively watching it crash (which is what did the trick this time around, if I recall) before the root cause of the problem can be found.
Generally, dedicated servers are more reliable for one reason: Your site/database's availability is not impacted by other people. If you're the only person using the database, nobody else's poorly coded web application will be accessing it and causing trouble. Obviously this isn't going to help if you're the guy with the poorly coded web application, but in that case it's still much easier for us to diagnose and fix as there aren't nearly as many variables to consider.
- Jeff @ DreamHost
- DH Discussion Forum Admin