Temos um aplicativo da Web hospedado nos serviços da Amazon Web. Nosso banco de dados é um servidor RDS MySQL de vários servidores rodando em 5.1.57 e 3-4 servidores de aplicativos conversam com ele.
Hoje, começamos a ver muitos erros ao longo das linhas de "Tempo limite de espera do bloqueio excedido; tente reiniciar a transação" - quase 1% das solicitações POST estão vendo isso.
Não houve modificações no código em execução no site. Não houve alterações no esquema. Nós não tivemos um grande aumento no tráfego. Eu estive olhando para os processos em execução e nenhum parece fora de controle.
Eu tentei escalar nossa instância do RDS de pequena para grande, sem efeito.
Dois dias atrás, a Amazon teve algumas interrupções. Como parte da recuperação disso, nosso servidor RDS e nossos servidores de aplicativos acabaram em diferentes zonas de disponibilidade, mas todos dentro da mesma região. Mas ontem estava tudo bem, então não estou convencido de que isso esteja relacionado.
Os tempos limite de bloqueio estão em diferentes tipos de solicitações e ocorrem em diferentes tabelas InnoDB.
Eu notei que o número de conexões abertas saltou quando começamos a ver problemas, mas elas podem ser um sintoma e não uma causa.
Quais são meus próximos passos para depurar isso?