Do you have access to the server via telnet? In order to really know what's going on we need to find out what is causing the server to crash. If you can run top you should be able to get some info on if it is swapping memory, number of processes running, cpu utilization and what process are using the most memory/cpu.
The server definitely shouldn't crash. It might have a very high load but as users timeout the load should start to drop enough to get a response from it.
If it has crashed then one of the first things you need to do is go in and OPTIMIZE your tables before starting up the webserver again. You can do this from the mysql prompt with the following:
OPTIMIZE w3t_Posts;
OPTIMIZE w3t_Users;
OPTIMIZE w3t_Messages;