【发布时间】:2009-11-11 02:54:50
【问题描述】:
假设 IIS 服务器接收大量流量并且网站已重新启动,在 ASP.NET 中的 Application_Start 事件期间挂起的请求会发生什么情况?
据我了解,第一个请求会触发应用程序的完成和启动。其他请求只是排队吗?
我们的 Application_Start 事件进行了大量配置和设置,可能需要几秒钟。这段时间交通繁忙是不是很糟糕?
【问题讨论】:
假设 IIS 服务器接收大量流量并且网站已重新启动,在 ASP.NET 中的 Application_Start 事件期间挂起的请求会发生什么情况?
据我了解,第一个请求会触发应用程序的完成和启动。其他请求只是排队吗?
我们的 Application_Start 事件进行了大量配置和设置,可能需要几秒钟。这段时间交通繁忙是不是很糟糕?
【问题讨论】:
在启动期间获得大量流量是不好的。多么糟糕?这取决于您需要多少时间开始以及获得多少传入流量。
当您的应用程序启动时,请查看 ASP.NET 性能计数器中的“Requests Queued”。您获得的流量越多,排队的请求就越多(5k?)。队列已满时的任何传入请求都将立即获得 HTTP 503。
如果您的启动时间超过默认请求超时时间(在 .NET 2.0+ 中为 100 秒),队列中的请求也将开始超时,新的请求将取而代之。
【讨论】: