good chemistry is complicated, and a little bit messy -LW |
|
PerlMonks |
Re^3: Listing Active CGI::Sessionsby superfrink (Curate) |
on Sep 06, 2004 at 05:42 UTC ( [id://388727]=note: print w/replies, xml ) | Need Help?? |
If you're looking for something like a count of total memebers signed in or a list of all memebers signed in then you could do what we did. That is just have each page request store which user the page was requested for and the current time in a database table. Make the UserID field unique and it shouldn't grow out of hand. When looking to get stats you can just SELECT COUNT(*) FROM ActiveSessions or SELECT UserID FROM ActiveSessions. I would suggest clearing old records from the table with a 5 minute cron or a pseudo-random system (maybe 1 in 500 page loads). Another thing you can do is actually have summary data that is generated either a) every say 5 minutes or b) whenever that data is changed (ie someone logged in or out). This plan works better on things that don't change very often or where you have a high number of records to deal with. Note that this method can get database intensive when you get a lot of site traffic. For the above linked site the sessions database does not run on the same machines that run the site's actual content database. PS: Yes I wrote machines as in plural. 60 Gigs of of web files (ie not including protocol overhead) is not an odd weekday. I think those databases get a fair bit of work for a website. - frink
In Section
Seekers of Perl Wisdom
|
|