sql >> Base de Datos >  >> RDS >> Mysql

CodeIgniter - ses_destroy() usa MUCHA CPU

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
            );
}