加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:20:28 所属栏目:asp.Net 来源:网络整理
导读:我有一个部署在IIS 7.0上的Web应用程序.该应用程序可由大量用户访问并操纵大数据..my问题涉及默认情况下设置为true的HTTP Keep-Alive选项. 将HTTP Keep-Alive设置为false或true是一种更好的方法. 在真实的情况下使用超时的好办法? 解决方法 通常应使用KeepA
我有一个部署在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在注册表中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读