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在注册表中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在对ASP.NET MVC Action的AJAX请求期间有网络请求超时时会发
- asp.net-core-1.0 – Asp.Net Core 1.0 RTM中CreateIdentit
- asp.net – 检查ValidationGroup是否从代码隐藏有效
- asp.net-mvc-4 – 使用WebApi和外部登录的ASP.NET身份
- 如何在ASP.NET MVC中使用JQuery调用控制器操作
- asp.net – FormsAuthentication.SetAuthCookie在IE10和IIS
- asp.net-mvc – ASP.NET MVC 3 Razor模板VS RenderPartial
- ASP.NET Core中Middleware的使用
- 通过HTTPS在ASP.NET中安全的会话cookie
- 使用Azure表存储进行ASP.NET会话