我的应用程序正在爬取一个网站。 我使用这个爬虫:
在我的开发环境中,延迟是可以接受的(3-4秒),但是在我的prod服务器(ec2 T2.micro Linux / Amazon)上有30个seconde延迟(wait ttfb)。
我在另一个服务器(1&1)testing了相同的代码,并且有一个可接受的延迟(3-4秒)。 所以问题不在代码内部 ,而是关于服务器configuration。
我努力了 :
我发现这个类似的问题: PHP + Apache很长的等待时间,但我认为我的ec2卷是一个EBS SSD,所以没有访问时间问题。
这个未解决的问题也链接到我的: 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----- rb 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]
现在我知道这是由于一个GuzzleHttp \ Client请求:
(string) $this->httpClient->get($url)->getBody();
我的安全组似乎没问题,所有的都允许出站,并允许HTTP入站。 我的networking也似乎没有问题(当我请求时,40,000 – 50,000字节)。
我在想,这应该是与mpm_prefork_module问题…
[更新2]
从SSH,如果我curl http://google.fr ,我没有延迟。 如果我curl我的具体url( http://www.leboncoin.fr )的延迟是> 30秒。 这是特定于我的AWS Ec2与此URL。