At tage et billede i mørke (hvis du er sikker på, at denne funktion er årsag til langsommeligheden):
Først kan du slå MySQL's langsomme forespørgselslog til:
http://dev.mysql.com/doc /refman/5.1/da/slow-query-log.html
Derefter, hvis $sess_use_database
er TRUE
du kan prøve at optimere din sessionstabel. Du kan have nogle overhead, der forårsager problemer.
Bortset fra det er det eneste andet, jeg kan komme i tanke om, at der er et problem med din DB-server. Du kan prøve at køre MySQL Tuner for at se, om du kan forbedre tingene lidt:
https://github.com/rackerhacker/MySQLTuner-perl
Håber det hjælper!
FYI
Her er koden, der køres, når OP'en kører sess_destroy()
(fra v2.0.2):
/**
* Destroy the current session
*
* @access public
* @return void
*/
function sess_destroy()
{
// Kill the session DB row
if ($this->sess_use_database === TRUE AND isset($this->userdata['session_id']))
{
$this->CI->db->where('session_id', $this->userdata['session_id']);
$this->CI->db->delete($this->sess_table_name);
}
// Kill the cookie
setcookie(
$this->sess_cookie_name,
addslashes(serialize(array())),
($this->now - 31500000),
$this->cookie_path,
$this->cookie_domain,
0
);
}