Tirando uma foto no escuro (se você tiver certeza de que esta função está causando a lentidão):
Primeiro, você pode ativar o log de consultas lentas do MySQL:
http://dev.mysql.com/doc /refman/5.1/en/slow-query-log.html
Então, se
$sess_use_database
é TRUE
você pode tentar otimizar sua tabela de sessão. Você pode ter alguma sobrecarga causando problemas. Além disso, a única outra coisa em que consigo pensar é que há um problema com seu servidor de banco de dados. Você pode tentar executar o MySQL Tuner para ver se pode melhorar um pouco as coisas:
https://github.com/rackerhacker/MySQLTuner-perl
Espero que ajude!
FYI
Aqui está o código que é executado quando o OP executa
sess_destroy()
(da 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
);
}