Por que há um atraso na execução de consultas na minha instância do RDS?

1

Eu tenho um aplicativo em execução em uma instância ec2 m3 e o mysql em execução em uma instância do dRDS. Ambos estão na mesma região, VPC independentemente de estarem em zonas de disponibilidade diferentes.

O problema é que as consultas em execução podem ser extremamente lentas - estou falando de atrasos que ocorrem acima de 700 ms a mais de um segundo. Eu estou suspeitando que o atraso é por conta da conexão com o servidor RDS, mas não estou particularmente certo.

O que exatamente posso fazer para reduzir totalmente / eliminar esse atraso. No meu host local, as mesmas consultas levam menos de um quarto a meio milissegundo no máximo. Eu verifiquei em horários de pico com pouco ou nenhum tráfego e até mesmo com um despejo de meus dados ao vivo no meu localhost. Portanto, a questão não pode ser em relação ao tráfego pesado ou à massa de dados.

== EDIT ===

Aqui estão as especificações da instância do RDS:

Instância e IOPS

Classe da Instância: db.m3.medium

Tipo de armazenamento: IOPS provisionados (SSD)

IOPS: 1000 Armazenamento: 100 GB

    
por Ali 16.04.2016 / 14:36

1 resposta

1

A latência de AZ Cruzada deve ser bastante baixa (por exemplo, Sub < 25 ms)

Se as consultas do seu aplicativo estiverem em série e não paralelas, será necessário um tempo de ida e volta entre os AZs (o tempo será cumulativo da série).

Eu criaria uma máquina ec2 no mesmo AZ que a instância do RDS e usaria o ping entre as instâncias do ec2 para calcular a latência de base.

Em seguida, você pode tentar executar o aplicativo com o mesmo AZ e comparar o desempenho do aplicativo (é o mesmo, é melhor, é pior). Logicamente, o desempenho deve melhorar.

    
por 21.04.2016 / 02:20