太多请求如何导致服务器崩溃?

我想知道为什么网站崩溃了。

如果一个服务器有太多的请求,它可能会将请求排队等待列表中,并在所有先前的请求被提供时提供服务。 这意味着,网站的请求将被照顾,虽然可能需要比预期更多的时间。

那么,由于服务器过载,网站如何崩溃?

网站不“崩溃”。

Web服务器被configuration为在请求队列中的请求超过预定数量时停止接受新的访问者。 达到此限制时,将显示错误消息 。

503服务不可用

由于服务器暂时过载或维护,服务器当前无法处理该请求。 这意味着这是一个暂时的情况,经过一段时间后会缓解。 如果已知,则可以在Retry-After标题中指示延迟的长度。 如果没有给出Retry-After,那么客户端应该像处理500响应那样处理响应。

Note: The existence of the 503 status code does not imply that a server must use it when becoming overloaded. Some servers may wish to simply refuse the connection. 

在一个非常简单的情况下,等待列表可能会填满,服务器忙于处理/忽略新的请求,以便能够有效地处理队列中的请求。

看看http://en.wikipedia.org/wiki/Denial-of-service_attack

很多方面:

  • 服务器只有很多可用的带宽。 如果攻击者能够利用stream量淹没目标网站的连接,他可以使该站点脱机。
  • “将请求排入等待列表中并在所有先前的请求都被提供时提供服务”队列请求本身需要时间。 如果攻击可以发送请求的速度比服务器能够排队更快,他可以使站点脱机。
  • Web服务器依赖于其他资源,如数据库服务器或文件系统。 如果攻击可以发送足够的请求来超载数据库,他可以使该站点脱机。