asp.net – HTTP保持活跃在一个大的Web应用程序

我有一个部署在IIS 7.0上的Web应用程序.该应用程序可由大量用户访问并操纵大数据..my问题涉及认情况下设置为true的HTTP Keep-Alive选项.

将HTTP Keep-Alive设置为false或true是一种更好的方法.

在真实的情况下使用超时的好办法?

解决方法

通常应使用KeepAlive来处理紧跟 HTML请求的请求.让我们先来看看你的网站,我得到一个包含5个css,5j和25个图像的HTML页面,我将使用我仍然存在的HTTP连接来请求这些东西(这取决于浏览器,我可能会使用3连接加速这些事情).

为了处理这个事实,我们通常使用2秒或3秒的Keepalive.具有更长的keepalive意味着连接正在等待用户可能请求的下一页.这可能是一种有效的思维方式,下次用户想要一个页面时,我们将避免建立HTTP连接的时间松动(这可能是请求/响应时间的最长部分).但是对于您的服务器,意味着由服务器处理的大多数HTTP连接正在做…什么都没有.并且您将达到您的MaxConnection(W3SVC / MaxConnections与可笑的认为10),连接不做任何事情.特别糟糕.这么长的活着需要大的网络服务器,只有当你的应用程序真的需要它时才应该使用它.

如果您在“古典网站”中使用Keepalive,则必须更改连接超时(认为2分钟).在Apache中,您将有2个设置,一个keepalive tiemout(认为5秒)和一个连接超时(2分钟).在IIS中似乎超时设置用于两者.所以不要把它设置为2s(一个客户端发送他的请求会很慢会超时),但像10s这样的事情也许就够了.现在一个回应是禁止Keep-Alive,并使浏览器打开更多的连接.另一个回应是使用一个现代化的网络服务器(比如Nginx或者例子),它以比Apache或者IIS更优雅和无资源的方式处理保持连接.

即使您不使用Keepalive,客户端超时等待2分钟的原因是什么?这肯定太高了,把这个价值降到60年代.

那么你应该检查几个与超时相关的设置(ConnectionTimeout,HeaderWaitTimeout,MinFileBytesPerSec)和这个很好的响应在performances settings注册表中.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...