Resource problems on a web forum
August 4, 2006 12:28 PM   Subscribe

I need pointers to Web forum packages (phpBB, SMF, vBulletin, etc) that go easy on CPU/mysql resources. I have shared hosting on Dreamhost and poor performance (2-3 minute pageloads, for example) are starting to become a serious issue.

Basically I'm wondering if anyone here runs stuff like phpBB, IPB, vBulletin, etc, and has suggestions on how the different board packages stack up.

1) What packages are hard on CPU/mysql, and what packages go easy?

2) Any advice on cutting down resource consumption would be great. I notice Invision has an admin panel for CPU resources but I don't see anything noteworthy in there besides the ability to make the board refuse connects when it gets too busy.

Currently I am using Invision Power Board, running on their ellipsis server. Quick overview of where I'm sitting at... I average 45 CPU minutes per day, database 400 MB (three years worth of messages), average day 1000 connects and 10,000 queries, 0.3 Mcn.

I've lodged a support request with Dreamhost but am not expecting much since this problem is hard to quantify. I would look at other forums for this information but what's out there seems to cater only to each individual software package.
posted by hodyoaten to Computers & Internet (11 answers total)
I'd be looking firstly at how optimized my SQL was, did you write any yourself or is it all provided by the software?
posted by hardcode at 12:44 PM on August 4, 2006

I suspect it's Dreamhost, not Invision Power Board, since they're having some major problems right now. If that's the case switching forums won't help, switching hosts or riding it out until they fix things will.
posted by revgeorge at 12:50 PM on August 4, 2006

45 minutes of CPU time to service 1000 connections and 10,000 queries is abysmal. Are you sure it isn't 45 seconds of CPU time? That would still be a lot for a load such as you describe, but threading messages in an unoptimized MySQL database can be pretty clunky.

If you really are using 45 minutes of CPU time a day, doing what you've described, something is badly broken, probably down on the server level, and fixing it immediately is warranted. Whatever you do, don't move a broken, borked database to a new install. When was the last time you did a full analysis and repair of your database?
posted by paulsc at 12:59 PM on August 4, 2006

Response by poster: Yes, it's about 3000 CPU seconds that I'm using. What would I be repairing exactly? The board works fine, albeit slow.

I'm using a completely non-modified Invision package.

Also I got a response from Dreamhost saying they loaded the page and there's no problem. They're right, it does load fast. But there's no reason it would have been fixed in just one hour after weeks of trouble.
posted by hodyoaten at 1:12 PM on August 4, 2006

For what it's worth, I run a moderately active vBulletin board via shared hosting on Dreamhost.

I did have to toggle some of the server optimization options (it sounds like there are more controls than what Invision offers), but otherwise, only got bogged down (and nasty notes from Dreamhost) a couple of times. And those were because of immensely popular threads related to a national TV show that earned the site over a thousand simultaneous logged in users (and no doubt thousands more visitors) basically hitting 'refresh' several times a minute.
posted by pzarquon at 1:40 PM on August 4, 2006

I'd wonder if the database was properly indexed.
posted by Good Brain at 1:42 PM on August 4, 2006

There's a lot of information on the Web about checking and repairing MySQL databases. Some of it is pretty version specific, as various versions of MySQL have introduced new features and bug fixes; you'd have to know what version of MySQL you have, and work from that, as far as the built-in checking utilities are concerned.

But a lot of applications have recommended routine maintenance procedures for the database, to keep operating at optimum levels. You may improve matters by cleaning out transaction log tables monthly (after you've run and archived any traffic analysis reports), or by cleaning up tables where records have been dropped, but not yet deleted. Those kinds of activities should be documented in your application support documents. Doing these things can vastly reduce the size of an active database that is several years old, meaning more of it can fit in active memory, causing a lot less paging activity to disk. The result of that is far less wait time for the CPU, which ultimately means using the CPU more effectively, and thus, needing a lot less CPU time.
posted by paulsc at 2:38 PM on August 4, 2006

You might be having application bug problems too, if this thread over on the Invision IPB Helpers forum is indicative. No info at all what was done to help this guy, but then again, the IPB Helpers board (itself probably running on Invision) was hacked back in June, and they didn't have any backup. Oh, and clicking the "Article" tab on that site generates unresolvable MySQL errors.

Tee hee.

I'd contact Invision. But not through the Helpers forum...
posted by paulsc at 3:48 PM on August 4, 2006

Yeah, Dreamhost has had a HUGE amount of issues lately, I'd guess it was everything hardware based that was screwing stuff up, not the software.... Things should be better now, but I'd subscribe to the "oh crap" RSS feed (it's listed in the panel)
posted by hatsix at 4:11 PM on August 4, 2006

Do you have search enabled? It seems like that is a major resource hog no matter what board system you're running, and the only ways around it are to have a separate search server/db ($$$) or use Google site search.
posted by smackfu at 5:50 PM on August 4, 2006

You're not on "Garland" are you, by any chance?

load average: 637.42, 617.62, 535.13

posted by blag at 6:55 PM on August 4, 2006

« Older Is it possible to recover one's blogging mojo?   |   How to determine if a record has a certain value... Newer »
This thread is closed to new comments.