(Note: be sure to read the bottom. The following suggestion is now obsolete in light of it)
When the forum was on its way back up and I went to view one of the threads, I got back a "table is marked as crashed and should be repaired" error.
That error is issued by MySQL, and is issued when the table in question is a MyISAM table.
MyISAM tables are nontransactional, and are the least robust way to store data in a database.
When examining the forum software's documentation, I found the requirements for it, which includes which databases are supported. Those requirements are here:
http://wiki.simplemachines.org/smf/SMF2.0:Requirements_and_recommendationsPostgreSQL is one of the database engines that the forum software supports. It is the most robust database engine in the list of supported database backends. At the company I work for, we have a product that uses MySQL as the backend and another that uses PostgreSQL as the backend. Despite the latter backend being under substantially heavier loads,
not once have I ever heard of it losing any data, while MySQL occasionally does even though it's using one of the most robust forms of table that MySQL supplies (InnoDB).
And based on the error message I got from this forum today, it appears that this forum is using the
least robust form of table that MySQL makes available for at least some of what it does.
Given that this isn't the first time the database has given this forum trouble, I strongly suggest that the content be moved to PostgreSQL, especially if future growth of the forum is expected (PostgreSQL generally scales well with load).
EDITED TO ADD: Well, it seems that despite the claims in SMF's documentation, PostgreSQL support is actually rather poor in SMF, apparently almost an afterthought. So in light of that, I can't actually in good conscience continue to support my above suggestion. The only alternatives are going to be things like using the "data=journal" mount option to ext3/ext4, and using a UPS on the server to minimize the chance that it goes down due to power failure. And obviously, the "data=journal" option would have to be tested because it is likely to have an effect on the write performance of the filesystem.
If it weren't for the fact that the schema creation for SMF
explicitly specifies the MyISAM table format for all the tables, I might have recommended at least switching them to the InnoDB table type. But since MyISAM is explicitly specified in the schema, I suspect that switching the table type may not be feasible. I'll have to do some further research on that.