高手来,http并发请求和IIS连接数的问题------

aspnet30 2010-10-24 07:30:40
http并发请求和IIS连接数的问题

windows2003

1、 服务器是如何处理并发http请求的

2、iis中,多个并发请求,是1个线程,还是多个线程处理?

3、IIS最大连接数,应该指的是并发连接数,为什么有人把同一页面中不同和http请求(如图片,js,css)归到iis连接数中了,虽然是同一页面,但不一定会造成并发吧,比如1个页面引用了10js文件,那也是按顺序请求的吧,不是并发请求吧

...全文
670 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
newdigitime 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 aspnet30 的回复:]
多个用户同一时间请求同一页面,算并发吗,我指的是同时,另外超过并发连接数后,怎么处理?在连接队列中?[/Quote]

当然是并发,超过连接数后,就要排队
aspnet30 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 newdigitime 的回复:]
另外,对于IE来说,IE6以前,同一个客户端同时只建议2个TCP连接与服务器进行通讯.更早前是4个连接
不过,到IE7及以后,默认值就变成10个了.
这个可以通过注册表来修改.

可能是考虑了当前服务器的硬件性能增加/宽带网络发展以及网页丰富元素的需求吧.
[/Quote]

多个用户同一时间请求同一页面,算并发吗,我指的是同时,另外超过并发连接数后,怎么处理?在连接队列中?
hookyzlr 2010-10-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
当一个网页被浏览,服务器就会和浏览者的浏览器建立链接,每个链接表示一个并发。
web服务器往往可以并行处理多个连接,每一个链接都在一个单独的线程中处理,链接就是完成一个http的Get或者POST指令以及返回结果。超过最大连接数的请求就只有排队,等待别的某一个链接完成了服务器才开始接受新连接。
网站配置一定量的并发连接数,是一种避免用尽资源的手段
100个IIS连接数就可以有100个浏览器……
[/Quote]
学习了
wuyq11 2010-10-24
  • 打赏
  • 举报
回复
一个用户登录后算一个连接
规定时间内,每次发出页面请求都只算一个连接
超过时间没有发出页面请求则占用的连接数被清除
newdigitime 2010-10-24
  • 打赏
  • 举报
回复
另外,对于IE来说,IE6以前,同一个客户端同时只建议2个TCP连接与服务器进行通讯.更早前是4个连接
不过,到IE7及以后,默认值就变成10个了.
这个可以通过注册表来修改.

可能是考虑了当前服务器的硬件性能增加/宽带网络发展以及网页丰富元素的需求吧.
newdigitime 2010-10-24
  • 打赏
  • 举报
回复
同一页面有如果有10个JS+图片,那就相当于10个并发连接.
这就是为什么大的网站,会把网站的各种小图标都放在同一张大图上,然后通过CSS来显示不同部分的原因,理由就是减少不必要的并发连接.

但是,如果在IIS中开启"保持HTTP连接"选项,上述负面影响将大大降低.
大多数 Web 浏览器要求在服务器向客户端发送多个元素(.htm 文件、.gif 或 .jpeg 文件)时保持客户端连接打开。以这种方式保持客户端连接称为保持 HTTP 连接.保持连接是一个 HTTP 规范,它能够增强服务器性能。默认情况下,启用“保持 HTTP 连接”。
chen8410 2010-10-24
  • 打赏
  • 举报
回复
1个页面有10张图片,2个Js,请求该页面时,会产生13个并发请求,还是逐一发生13个请求(不是并发)
连接不等于请求,在客户端建立一个连接可以处理2-4个请求,跟浏览器有关
Internet Explorer 浏览器在同一时刻只能从同一域名下载两个文件。

另外5个用户同时请求1个页面,会产生5个并发请求,还是放在请求队列中等待?
建立了5个连接,在每个连接中可以有多个请求处理,关键还是看你的程序效率,早处理完早释放连接,其他用户再请求你的页面时就不会超过连接数限制


个人理解,经验有限,期待后面的高人多多指正

aspnet30 2010-10-24
  • 打赏
  • 举报
回复
1个页面有10张图片,2个Js,请求该页面时,会产生13个并发请求,还是逐一发生13个请求(不是并发)

另外5个用户同时请求1个页面,会产生5个并发请求,还是放在请求队列中等待?
weifei911 2010-10-24
  • 打赏
  • 举报
回复
afdsssssss
aspnet30 2010-10-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
当一个网页被浏览,服务器就会和浏览者的浏览器建立链接,每个链接表示一个并发。
web服务器往往可以并行处理多个连接,每一个链接都在一个单独的线程中处理,链接就是完成一个http的Get或者POST指令以及返回结果。超过最大连接数的请求就只有排队,等待别的某一个链接完成了服务器才开始接受新连接。
网站配置一定量的并发连接数,是一种避免用尽资源的手段
100个IIS连接数就可以有100个浏览器……
[/Quote]

悲剧了,为什么考虑的是同一个人的同一页面请求,同一个人同一页面请求会产生多个并发吗,即使该页面有很多图片或js,css,那也是逐一请求而不是并发请求啊,并发请求,不是指的不同人同时请求导致并发吗?
wuyq11 2010-10-24
  • 打赏
  • 举报
回复
当一个网页被浏览,服务器就会和浏览者的浏览器建立链接,每个链接表示一个并发。
web服务器往往可以并行处理多个连接,每一个链接都在一个单独的线程中处理,链接就是完成一个http的Get或者POST指令以及返回结果。超过最大连接数的请求就只有排队,等待别的某一个链接完成了服务器才开始接受新连接。
网站配置一定量的并发连接数,是一种避免用尽资源的手段
100个IIS连接数就可以有100个浏览器窗口同时与服务器连接
nitaiyoucala 2010-10-24
  • 打赏
  • 举报
回复
帮你顶顶 美德

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧