Назад | Перейти на главную страницу

Задержка (подождите ttfb) на EC2

Мое приложение сканирует веб-сайт. Я использую этот краулер:

В моей среде разработки задержка приемлема (3-4 секунды), но на моем производственном сервере (ec2 T2.micro Linux / Amazon) задержка составляет 30 секунд (подождите, ttfb).

Я тестировал тот же код на другом сервере (1 и 1), и есть приемлемая задержка (3-4 секунды). Так проблема не в коде, а о конфиге сервера.

Я пытался :

Я нашел такой же вопрос: PHP + Apache долгое время ожидания но я думаю, что мой том ec2 - это твердотельный накопитель EBS, поэтому проблем со временем доступа нет.

Этот нерешенный вопрос также является ссылкой на мой: https://stackoverflow.com/questions/34299038/deployed-web-application-long-ajax-wait-ttfb-time

Выписка из vmstat при запросе:

[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

[ОБНОВИТЬ]
Сейчас я знаю, что эта задержка связана с запросом GuzzleHttp \ Client:

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

Моя группа безопасности выглядит нормально, все разрешено для исходящих и HTTP разрешено для входящих. Моя сеть тоже выглядит нормально (40 000–50 000 байт на момент запроса).

Я думаю, это проблема mpm_prefork_module ...

[ОБНОВЛЕНИЕ 2]
Из SSH, если я завиваюсь http://google.fr, У меня нет задержки. Если я скручиваю свой конкретный URL (http://www.leboncoin.fr) задержка> 30 сек. Это характерно для моего AWS Ec2 с этим URL-адресом.