HTTP 请求暂停一分钟

HTTP 请求暂停一分钟

我有这个网站,它运行非常顺畅,但偶尔当我点击一个链接时,它会暂停大约一分钟才能进入页面,而当我在新窗口中打开同一页面时,它会顺利打开而没有任何延迟。

对于可能导致此情况的原因您有什么想法吗?

我的环境:

  1. FreeBSD
  2. PHP
  3. MySQL
  4. Lighttpd

答案1

首先,您必须检查这是否是与服务器相关的问题。无论您从哪里检查,情况是否都一样?在不同的计算机上尝试多个浏览器。此类行为的主要原因之一是 DNS 服务器出现故障(无论是客户端还是服务器)。

答案2

这是一个有点宽泛的问题,因为它实际上可能是客户端和服务器之间的任何原因。您需要遵循一些特定的方法来解决网络问题。我们都有自己的方法,甚至还有一个关于服务器故障的 wiki解决问题的不同方法

我建议检查一下这个问题,并熟悉Wireshark或者TCP转储,因为这些工具将帮助您弄清楚服务器 <---> 客户端通信中发生了什么,并且希望通过查看数据包响应时间来确定“暂停”发生的位置。此外,检查服务器日志中是否出现任何类型的错误。

答案3

这可能有很多不同的原因。DNS 第一次尝试解析失败、PHP 由于负载而响应不快、lighttpd 连接数过多。

点击刷新按钮后页面会立即显示吗?您是否尝试过同时查看服务器端正在发生的事情?您的网络流量是什么样的?

我会开始查看事件发生时的 Lighttpd 日志文件,并查找失败或自身崩溃的 PHP 进程,这会导致 lighttpd 重新启动它们。这可能会导致问题。

答案4

我认为你应该看看Lighttpd的Keep-Alive设置:

server.max-keep-alive-requests =
server.max-keep-alive-idle = 
server.max-read-idle = 
server.max-write-idle = 

相关内容