Tomando una foto en la oscuridad (si está seguro de que esta función está causando la lentitud):
Primero, puede activar el registro de consultas lentas de MySQL:
http://dev.mysql.com/doc /refman/5.1/es/slow-query-log.html
Entonces, si $sess_use_database
es TRUE
puede intentar optimizar su tabla de sesión. Podría tener algunos gastos generales que causen problemas.
Aparte de eso, lo único que se me ocurre es que hay un problema con su servidor de base de datos. Puede intentar ejecutar MySQL Tuner para ver si puede mejorar un poco las cosas:
https://github.com/rackerhacker/MySQLTuner-perl
¡Espero que eso ayude!
Para tu información
Aquí está el código que se ejecuta cuando el OP ejecuta sess_destroy()
(desde 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
);
}