A technical update, here.
We use a database table to track the activity of members. Basically, any time you load a new page while logged in, the site tracks it - this powers the "last active on..." section of the user profile.
As you can imagine, that table gets huge in a hurry; a typical visit consists of anywhere from a half dozen to thirty or so records for each time you log on. I have to manually purge that data, but I hate doing it, as it ruins the profile feature.
But the table had gotten above 700k records, so I wrote a little script that removes all but each individual's most recent record. We're back down to 502 records now.

I'll set it to run every night, which should give us a small performance boost on page loads.