Manipulação de sessão - banco de dados para informações da sessão

Manipulação de sessão - banco de dados para informações da sessão

por Tiago da Gama Alvarenga -
Número de respostas: 1

Li recentemente um artigo onde um administrador do moodle, devido à demora de sua hospedagem, habilitou a opção "Use o banco de dados para informações da sessão” para tentar minimizar problemas de lentidão.  (conforme imagem abaixo)

Sou usuário da locaweb e infelizmente, como já alertado por alguns colegas do fórum (Eduardo Kraus e outros), o moodle roda muito lento lá. Estou pensando em habilitar essa opção para, como no artigo, minimizar problemas com velocidade em minha hospedagem. Realmente teria um ganho de performance?

Outra preocupação é a mensagem abaixo dessa opção: 

"Se habilitado, o Moodle irá utilizar o banco de dados para guardar informações sobre as sessões atuais. Perceba que mudar esta opção agora irá desconectar todos os usuários (incluindo você). Se você está utilizando o MySQL, por favor, tenha certeza que a configuração "max_allowed_packet" no arquivo my.cnf está definida com pelo menos 4M. Outros drivers de sessão podem ser configurados diretamente no config.php, veja o arquivo config-dist.php para mais informações. Esta opção desaparecerá se você especificar um driver diferente no arquivo config.php”

Como faço para conferir se meu banco de dados está configurado com os requisitos acima?

Obrigado


manipulação de sessão


Contagem das avaliações:  -
Em resposta à Tiago da Gama Alvarenga

Re: Manipulação de sessão - banco de dados para informações da sessão

por Eduardo Kraus -
Imagem de Plugin developers

Primeiro vou falar sobre as sessões. Por padrão o PHP não deixa duas instancias abrirem a mesma sessão para escrita. Então se uma sessão estiver ativa, uma segunda página não poderá ser iniciada antes que a sessão anterior seja fechada.

Pode perceber isso quando exporta relatório, até que o arquivo esteja 100% processado não é possível abrir uma nova página.

Em softwares que eu desenvolvi, como por exemplo o www.escolaemcasa.com.br, mesmo usando sessão no banco de dados não foi possível ter das páginas na mesma sessão até que o processamento seja finalizado, ou a função session_write_close seja chamado.

Eu nunca fiz testes de benchmark no moodle usando sessões Banco vs Disco para saber se existe diferença, mais percebi que sessões em disco SSD tem perda de performance quando comparado a sessão em discos HD. (SSD é só marketing, e só ideal se você apenas irá ler informações).

Já no www.escolaemcasa.com.br percebi que via disco ganhava em torno de 0,07ms comparado com sessões no banco de dados, mesmo o DB estando na mesma maquina.

Muito prazer, sou Eduardo Kraus
Teacher and loves Moodle
Meu Blog: moodle.eduardokraus.com
Meu Youtube: www.youtube.com/user/ProfEduardoKraus
Meu Facebook: www.facebook.com/ProfEduardoKraus

Contagem das avaliações:  -