WordPress的网站响应速度极慢(仅针对第一个请求)

我的wordpress网站有一个奇怪的问题( http://rohitnair.info/ )。 “第一次请求”需要很长时间才能做出回应。 任何后续的响应行为正常。 我在debugging时看到的东西

  • 清除浏览器caching并重新加载工作正常,页面加载速度不够快
  • 清除cookie和重新加载重现问题。
  • nslookup等不需要时间(所以排除DNS查找问题)
  • 问题似乎可以从其他机器/networking重现(所以排除本地机器/networking问题)
  • mysql中没有什么缓慢的查询日志

因此,我在这个上下文中将“第一请求”定义为没有为该域设置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请求超时。