E_WARNING: Erro ao enviar o pacote STMT_PREPARE. PID = *

A partir de 2019-01-30 14:52 UTC, você ainda pode ganhar o Bounty de 500 pontos porque nenhuma das respostas ajudou!

site My Laravel 5.7 está enfrentando alguns problemas que eu acho que estão relacionados entre si (mas acontecem em momentos diferentes):

PDO::prepare(): MySQL server has gone awayE_WARNING: Error while sending STMT_PREPARE packet. PID=10PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry (Geralmente, meu banco de dados parece tentar escrever o mesmo registro duas vezes no mesmo segundo. Não consegui descobrir por que ou como reproduzi-lo; não parece estar relacionado ao comportamento do usuário.)e alguma forma, esses dois primeiros tipos de erros só aparecem nos meus registros da Barra de rolagem, mas não nos registros de texto no servidor ou nas minhas notificações do Slack, como todos os erros devem ocorrer (e todos os outros

or meses, continuei vendo mensagens de log assustadoras como essas e não consegui reproduzir esses erros (e não consegui diagnosticar e resolvê-los

Ainda não encontrei nenhum sintoma real ou ouvi falar de alguma reclamação dos usuários, mas as mensagens de erro parecem não triviais, então eu realmente quero entender e corrigir as causa

Tentei alterar minha configuração do MySQL para usarmax_allowed_packet=300M (ao invés depadrã da 4M), mas ainda recebo essas exceções com frequência nos dias em que tenho mais do que alguns visitantes no meu site.

Também defini (alterado de 5M e 10M) o seguinte por causa deEste conselho:

innodb_buffer_pool_chunk_size=218M
innodb_buffer_pool_size = 218M

Como pano de fundo:

Meu site tem um trabalhador de fila que executa trabalhos artisan queue:work --sleep=3 --tries=3 --daemon). Há vários trabalhos na fila que podem ser agendados para acontecer no mesmo momento, com base no tempo de inscrição dos visitantes. Mas o máximo que vejo que aconteceu simultaneamente é 20. Não há entradas no MySQL Slow Query Log. Tenho alguns trabalhos cron, mas duvido que sejam problemáticos. Um é executado a cada minuto, mas é realmente simples. Outro é executado a cada 5 minutos para enviar certos emails agendados, se houver algum pendente. E outra é executada a cada 30 minutos para gerar um relatório. Eu corri váriosmysqlslap consultas (embora eu seja completamente novato) e não encontrei nada lento, mesmo ao simular centenas de clientes simultâneo Estou usando o Laradock (Docker). Meu servidor é DigitalOcean 1 GB de RAM, 1 vCPU, 25 GB SSD. Eu também tentei 2 GB de RAM sem diferença.Os resultados deSHOW VARIABLES; eSHOW GLOBAL STATUS; estão aqu.

Minhasmy.cnf é

[mysql]

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
character-set-server=utf8
innodb_buffer_pool_chunk_size=218M
innodb_buffer_pool_size = 218M
max_allowed_packet=300M
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow_query_log.log
long_query_time = 10
log_queries_not_using_indexes = 0

Alguma idéia sobre o que devo explorar para diagnosticar e corrigir esses problemas? Obrigado

questionAnswers(2)

yourAnswerToTheQuestion