Raramente, em vez do carregamento do meu site, recebo uma tela branca da morte com esta mensagem de erro:
Impasse encontrado ao tentar obter o bloqueio; tente reiniciar a transação SQL = INSERT INTO jom_session
(session_id
, client_id
, guest
, time
, userid
, username
) VALORES ('cv95odk14jbe8738ecg9se9de1', 0, 0, '1402423781', 101, 'nome de usuário @ example.com ')
Não consigo duplicá-lo, mas já o vi antes e foi relatado por outros usuários. Existe alguma maneira de impedir que isso aconteça?
Se houver um impasse, isso indicaria que as atualizações de índice são feitas de diferentes direções, por assim dizer, e pode haver um bug no Joomla que causa isso. Além de documentar os sintomas ou tentar encontrar o bug, você pode atenuar o problema, permitindo que a tabela de sessões seja mais eficiente.
Além do comentário de Jordans, você pode tornar a tabela de sessões muito eficiente, transformando-a em uma tabela MySQL do tipo MEMORY. No entanto, isso significa que as sessões são perdidas na reinicialização do MySQL.
Para transformá-lo em uma tabela de memória, alterne o campo de dados de texto médio para algo como varchar (15000) (o tamanho depende de quais extensões armazenam quais dados) e, em seguida, vire o tipo para MEMORY.
Você também precisa permitir memória "heap" suficiente na sua configuração do MySQL, já que a tabela será mantida na memória. Para sites grandes que eu administro, uso até 640MB.
Por tudo isso, você precisa ter um VPS, pelo menos é claro.