我的wordpress网站有一个奇怪的问题( http://rohitnair.info/ )。 “第一次请求”需要很长时间才能做出回应。 任何后续的响应行为正常。 我在debugging时看到的东西
因此,我在这个上下文中将“第一请求”定义为没有为该域设置cookie的请求。 另一个简单的方法来重现这个问题是使用curl,而不是发送任何cookie。 这是curl -v的输出
$ time curl -v rohitnair.info * About to connect() to rohitnair.info port 80 (#0) * Trying 23.21.171.95... connected * Connected to rohitnair.info (23.21.171.95) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.9.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2 > Host: rohitnair.info > Accept: */* >
漫长的等待
[响应]
* Connection #0 to host rohitnair.info left intact * Closing connection #0 real 1m0.518s user 0m0.003s sys 0m0.011s
可以看出,服务器需要一分多钟才能返回响应。
该堆栈是wordpress + nginx,并托pipe在Amazon EC2微型实例上。 我也注意到,请求不会显示在nginx访问日志中,直到响应被提供或请求被取消(不知道这是否是预期的行为)我完全失去了什么可能会导致此问题。 任何帮助将非常感激!
你还没有排除DNS,因为NSLOOKUP是不一样的执行请求的Nginx或PHP。 观看DNS请求,看看他们中的任何一个显然是愚蠢的。
每当任何事情出乎意料地很慢(HTTP请求,初始SSH连接等), 但一开始只是缓慢 ,它通常是一个反向DNS请求超时。