Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^3: Listing Active CGI::Sessions

by superfrink (Curate)
on Sep 06, 2004 at 05:42 UTC ( [id://388727]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Listing Active CGI::Sessions
in thread Listing Active CGI::Sessions

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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://388727]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (8)
As of 2024-04-18 07:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found