sql >> Database >  >> RDS >> Mysql

CodeIgniter - ses_destroy() gebruikt VEEL CPU

Een foto maken in het donker (als je zeker weet dat deze functie de traagheid veroorzaakt):

Ten eerste kunt u het trage querylogboek van MySQL inschakelen:

http://dev.mysql.com/doc /refman/5.1/en/slow-query-log.html

Dan, als $sess_use_database is TRUE u kunt proberen uw sessietabel te optimaliseren. Je zou wat overhead kunnen hebben die problemen veroorzaakt.

Afgezien daarvan is het enige andere dat ik kan bedenken dat er een probleem is met uw DB-server. U kunt proberen de MySQL Tuner uit te voeren om te zien of u de zaken een beetje kunt verbeteren:

https://github.com/rackerhacker/MySQLTuner-perl

Ik hoop dat dat helpt!

Ter info

Hier is de code die wordt uitgevoerd wanneer de OP sess_destroy() uitvoert (vanaf 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
            );
}



  1. Retourwaarde van opgeslagen functies in MyDAC

  2. MySQL:database maken zoals?

  3. Hoe de serverstatus in MySQL Workbench te controleren met behulp van de GUI

  4. INITCAP() – Converteren naar begincaps in PostgreSQL