Latência (espera ttfb) no EC2

5

Minha inscrição está rastreando um site. Eu uso este rastreador:

No meu ambiente de desenvolvimento, a latência é aceitável (3-4 segundos), mas no meu servidor prod (ec2 T2.micro Linux / Amazon) há uma latência de 30 segundos (wait ttfb).

Eu testei o mesmo código em outro servidor (1 & 1) e há uma latência aceitável (3-4 segundos). Então o problema não está dentro do código , mas sobre a configuração do servidor.

Eu tentei:

  • verifique o php conf (php.ini)
  • adiciona cache ao php (Zend OPCache)
  • adicione o apache 2 varie: cabeçalho de aceitação de codificação
  • teste uma instância t2.medium
  • altera a região da minha instância

Eu encontrei essa pergunta semelhante: PHP + Apache longo tempo de espera mas eu acho que meu volume ec2 é um SSD EBS assim não há problema de tempo de acesso.

Esta questão não resolvida também é associada à minha: link

Um extrato de vmstat durante a solicitação:

[ec2-user@ip-xxx-xx-xx-xx ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0   1580 534472  29696 240356    0    0     2    31   14   41  0  0 100  0  0   
 0  0   1580 534456  29696 240356    0    0     0     0   19   43  0  0 100  0  0   
 0  0   1580 534456  29696 240356    0    0     0     0   12   37  0  0 100  0  0   
 0  0   1580 534456  29696 240356    0    0     0     0   12   38  0  0 100  0  0   
 0  0   1580 534456  29696 240356    0    0     0     0   15   45  0  0 100  0  0   
 0  0   1580 534456  29696 240356    0    0     0     0   18   49  0  0 100  0  0   
 0  0   1580 534456  29696 240356    0    0     0     0   12   38  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   32   60  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   13   39  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   17   45  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     4   16   49  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   13   40  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   13   38  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   13   38  0  0 100  0  0   
 0  0   1580 533544  29696 240356    0    0     0     0   16   47  0  0 100  0  0   
 0  0   1580 533544  29700 240352    0    0     0     4   17   48  0  0 99  1  0    
 0  0   1580 533544  29700 240356    0    0     0     0   15   39  0  0 100  0  0   
 0  0   1580 533544  29700 240356    0    0     0     0   13   39  0  0 100  0  0   
 0  0   1580 533544  29700 240356    0    0     0     0   13   39  0  0 100  0  0   
 0  0   1580 533544  29700 240356    0    0     0     0   17   46  0  0 100  0  0   
 0  0   1580 533544  29700 240356    0    0     0     4   19   50  0  0 100  0  0   
 0  0   1580 533544  29700 240356    0    0     0     0   15   41  0  0 100  0  0

[UPDATE]
Agora eu sei que esta latência é devido a uma solicitação GuzzleHttp \ Client:

(string) $this->httpClient->get($url)->getBody();

Meu grupo de segurança parece ok, tudo é permitido de saída e HTTP é permitido a partir da entrada. Minha rede também parece ok (40.000 - 50.000 bytes quando eu solicito).

Estou pensando que isso deve ser um problema com o mpm_prefork_module ...

[ATUALIZAÇÃO 2]
Do SSH, se eu enrolar o link , não tenho latência. Se eu enrolar meu URL específico ( link ), a latência será > 30 seg. É específico para o meu AWS Ec2 com este URL.

    
por Julien Malige 03.01.2016 / 22:49

0 respostas