Wordpress 网站响应极慢(仅限第一次请求)

Wordpress 网站响应极慢(仅限第一次请求)

我的 WordPress 网站出现了一个奇怪的问题(http://rohitnair.info/)。“第一个请求”需要很长时间才能响应。任何后续响应都表现正常。我在调试时观察到的事情

  • 清除浏览器缓存并重新加载可以正常工作,并且页面加载速度足够快
  • 清除 cookies 并重新加载可重现该问题。
  • nslookup 等不需要花费时间(因此排除 DNS 查找问题)
  • 该问题似乎可以从其他机器/网络重现(因此排除本地机器/网络问题)
  • 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,托管在 Amazon EC2 微型实例上。我还注意到,直到响应被提供或请求被取消(不确定这是否是预期行为),请求才会显示在 nginx 访问日志中。我完全不知道是什么原因导致了这个问题。任何帮助都将不胜感激!

答案1

您尚未排除 DNS,因为 nslookup 与执行请求的 nginx 或 PHP 不同。观察 DNS 请求,看看其中是否有任何明显愚蠢的请求。

每当出现意外缓慢的情况(HTTP 请求、初始 ssh 连接等)时,但一开始很慢,这通常是由于反向 DNS 请求超时造成的。

相关内容