This is why the last few proprietary Web-based systems I've designed from scratch only did minimal dynamic work, with all the data being in pregenerated static files and put together on the client side via AJAX. In one case even user input was perfectly passive, with a separate simultaneous process to read it from the frequently-rotated binary Web-server logs (modified
publicfile) and update the static .json.gz data-files, usually with no perceivable delay. Now there's a system that can easily scale forever!
As for making this inherently-inefficient LAMP monstrosity shine brighter - I'm no MySQL guru, so your guess is as good as mine. I'd experiment with different storage engines, indexing, table partitioning, more RAM,
etc. Just don't even think about archiving old threads as static files and removing them from the live forum, or I will track you down and use you for head transplantation experiments (which would probably work in Johnson's favor though).