[DICA] Otimizando o MySQL, usando store sessions in memory
- rldesign
-
Autor do Tópico
- Offline
- JCB! Hero
-
Menos
Mais
14 anos 2 meses atrás #53013
por rldesign
Rafael Santana
Web Designer | R&L Design - Desenvolvimento Gráfico e Sites
rldesign created the topic: [DICA] Otimizando o MySQL, usando store sessions in memory
Joomla! tem a capacidade de escolher o método de armazenamento de sessão: none (arquivo), APC, database, EAccelerator, Memcache e XCache manipuladores de armazenamento são possíveis. Mas, na verdade o Joomla! ainda armazena dados de sessões no banco de dados e realiza três consultas SQL por cada carregamento da página, mesmo se o cache está Ligado e armazenamento de sessão não é " database '.
Como podemos resolver este problema e reduzir a carga do MySQL?
jos_session table é armazenado usando mecanismo de armazenamento MyISAM - vamos guardar essa tabela em memória usando mecanismo de armazenamento MEMORY!
Primeiro, precisamos mudar o tipo de data field porque mecanismo de armazenamento MEMORY não suporta colunas do tipo BLOB/TEXT :
é geralmente suficiente para lidar com os dados da sessão, você pode configurar mais se tendo problemas (se não conseguir fazer o login) ou a configuração para 0 se o seu método de armazenamento de sessão Joomla não é "database".
Agora vamos mudar o motor:
ALTER TABLE `jos_session` TYPE = memory
O Mecanismo MEMORY MySQL é muito mais rápido do que MyISAM. A única coisa é que as sessões serão perdidas se o servidor cair. Mas em 99,9999999999999999999 % você não precisa tomar cuidado com isso, os usuários terão apenas fazer o re- login.
Todas estas operações podem ser facilmente realizado em phpMyAdmin.
Além disso, na maioria dos sites a tabela jos_session geralmente tem overhead e requer otimização - o mecanismo MEMORY vai ajudar a evitar isso.
Overhead pode levar à corrupção de banco de dados e você não será ainda capaz de login no backend, é por isso que você precisa para otimizar as tabelas MySQL e especialmente jos_session regularmente.
Fonte: http://goo.gl/rceAA
Como podemos resolver este problema e reduzir a carga do MySQL?
jos_session table é armazenado usando mecanismo de armazenamento MyISAM - vamos guardar essa tabela em memória usando mecanismo de armazenamento MEMORY!
Primeiro, precisamos mudar o tipo de data field porque mecanismo de armazenamento MEMORY não suporta colunas do tipo BLOB/TEXT :
ALTER TABLE `jos_session` CHANGE `data` `data` VARCHAR( 5000 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
é geralmente suficiente para lidar com os dados da sessão, você pode configurar mais se tendo problemas (se não conseguir fazer o login) ou a configuração para 0 se o seu método de armazenamento de sessão Joomla não é "database".
Agora vamos mudar o motor:
ALTER TABLE `jos_session` TYPE = memory
O Mecanismo MEMORY MySQL é muito mais rápido do que MyISAM. A única coisa é que as sessões serão perdidas se o servidor cair. Mas em 99,9999999999999999999 % você não precisa tomar cuidado com isso, os usuários terão apenas fazer o re- login.
Todas estas operações podem ser facilmente realizado em phpMyAdmin.
Além disso, na maioria dos sites a tabela jos_session geralmente tem overhead e requer otimização - o mecanismo MEMORY vai ajudar a evitar isso.
Overhead pode levar à corrupção de banco de dados e você não será ainda capaz de login no backend, é por isso que você precisa para otimizar as tabelas MySQL e especialmente jos_session regularmente.
Fonte: http://goo.gl/rceAA
Rafael Santana
Web Designer | R&L Design - Desenvolvimento Gráfico e Sites
Please Entrar ou Registrar to join the conversation.
- normando
-
- Offline
- JCB! Professional
-
Menos
Mais
- Postagens: 230
- Obrigados Recebidos: 0
14 anos 2 meses atrás #53279
por normando
[color=#BF0040:2s5baq22]Web Developer & Microsoft Certified Systems Engineer (MCSE)
[/color:2s5baq22]
normando replied the topic: Re: [DICA] Otimizando o MySQL, usando store sessions in memory
E seu colosse a engineer da tabela jos_session para innodb em vez de myisam, resolveria o caso?
Estou tentando problemas com esta tabela..
Estou tentando problemas com esta tabela..
[color=#BF0040:2s5baq22]Web Developer & Microsoft Certified Systems Engineer (MCSE)
[/color:2s5baq22]
Please Entrar ou Registrar to join the conversation.