I'm operating a very active UBB.threads board with dozens of forums that date back at least five years. The message database has become so huge that the Linux server is starting to bog down and users are complaining of slow responses, particularly accessing the main index page. I'd like to be able to "age off" the messages older than a year or so in order to help reduce the CPU overhead and improve speed, but I'm not sure how to accomplish this without getting the various UBB.threads tables out of sync. Can anyone advise on how to do this.
I tried the "debug=1" trick and it looks like most of the slowness is due to processing queries against the w3t_Posts table with queries like:
SELECT COUNT(*) , SUM(B_Topic) FROM w3t_Posts WHERE ( (B_Posted > 0 AND B_Posted <> 4294967295) OR (B_Posted = 4294967295 AND B_Sticky > 0) ) AND B_Board = 'cessna182'
Processing the main index page involves one of these queries for each board, and some of the queries are taking close to 10 seconds each!
I'm wondering whether adding an INDEX for the B_Posted and B_Sticky fields of the w3t_Posts table would improve this situation?
If it matters, this server is presently running a somewhat outdated version of UBB.threads (6.1.1). I've been meaning to upgrade to the latest version, but unfortunately that's somewhat non-trivial to do since the system has several non-standard software patches in order to integrate it into a pre-existing database of authorized users.
Out of curiousity, would upgrading to the latest version of UBB.threads have any significant impact on the performance problems I'm seeing?
Last edited by Mike Busch; 02/03/2004 1:03 PM.