Eine Aufnahme im Dunkeln machen (wenn Sie sicher sind, dass diese Funktion die Langsamkeit verursacht):
Zuerst könnten Sie das langsame Abfrageprotokoll von MySQL einschalten:
http://dev.mysql.com/doc /refman/5.1/en/slow-query-log.html
Dann, wenn $sess_use_database
ist TRUE
Sie könnten versuchen, Ihre Sitzungstabelle zu optimieren. Möglicherweise haben Sie einen Overhead, der Probleme verursacht.
Abgesehen davon fällt mir nur ein, dass es ein Problem mit Ihrem DB-Server gibt. Sie können versuchen, den MySQL-Tuner auszuführen, um zu sehen, ob Sie die Dinge ein wenig verbessern können:
https://github.com/rackerhacker/MySQLTuner-perl
Hoffe das hilft!
FYI
Hier ist der Code, der ausgeführt wird, wenn das OP sess_destroy()
ausführt (ab 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
);
}