I found it...it's your custom top_posters.php script...and it's not very friendly. It looks like it's meant to show top posters within the last 30 days. It's running every 2 minutes and the query is very, very baaaadddd.

Code
        SELECT COUNT(*) as total, a.USER_ID, b.USER_DISPLAY_NAME as user
        FROM {$config['TABLE_PREFIX']}POSTS AS a,
        {$config['TABLE_PREFIX']}USERS AS b
        WHERE a.USER_ID = b.USER_ID
        AND POST_POSTED_TIME > $limittime
        AND a.USER_ID != 1
        GROUP BY USER_ID ORDER BY total DESC
        limit {$config['TOP_POSTERS']}

It has a limit in it to only return a certain number of top posters, but MySQL still has to calculate who the top posters are. So it's going through all of the posts within the last 30 days, and grouping them by userid, ordering them, and then returning the results. On a decent size board, that query alone isn't all that great, running every 2 minutes, it's even worse. Whenever that runs it'll lock your posts and users table until it finishes.

Last edited by Rick; 02/06/2007 7:40 PM.