> I think most people don't use Apache::Session::File in production. It's > more of a testing thing. In your situation, you would probably get > great performance from MLDBM::Sync with SDBM_File. I'd suggest trying > that if you can't determine the cause of the Apache::Session::File issues.
Not to say that the other options won't work, but we're using Apache::Session::File in production with no issues, handling in excess of 30 hits per second. It works fine, and it's easy to keep old session files cleaned up with a simple cron job that finds and deletes session files older than some limit. During development we also noticed race conditions with near-simultaneous pageloads into framesets. Try the 'Transaction' option when you tie to the session - here is how that part of our mod_perl handler looks: ======================================== # NOTE: # At this point, $session_id is either set to some # value from a cookie (for an existing session) # or it is "undef" my %session = (); my $opts = { Directory => "$SESSIONFILEROOT/$site", LockDirectory => "$SESSIONLOCKROOT/$site", Transaction => 1, }; eval { tie %session, 'Apache::Session::File', $session_id, $opts; }; if ( $@ ) { # Session tie failed for some reason. If it was because # an existing session is invalid, create a new session: if ( $@ =~ /^Object does not exist in the data store/ ) { $session_id = undef; eval { tie %session, 'Apache::Session::File', $session_id, $opts; }; } if ( $@ ) { # Totally failed to create the session - bail out: $r->log_error( "Tie failed: $@"); return SERVER_ERROR; } } ======================================== HTH, Larry Leszczynski [EMAIL PROTECTED]