http并发请求和IIS连接数的问题
				
									
					
					
						|  | 
							admin 2014年1月29日 23:53
								本文热度 7814 | 
					
				 
				1、 服务器是如何处理并发http请求的
2、iis中,多个并发请求,是1个线程,还是多个线程处理?
3、IIS最大连接数,应该指的是并发连接数,为什么有人把同一页面中不同和http请求(如图片,js,css)归到iis连接数中了,虽然是同一页面,但不一定会造成并发吧,比如1个页面引用了10js文件,那也是按顺序请求的吧,不是并发请求吧?
该文章在 2014/1/29 23:53:23 编辑过
|  |  | 
| 全部评论5 | 
	|  | admin 2014年1月29日 23:53 
			当一个网页被浏览,服务器就会和浏览者的浏览器建立链接,每个链接表示一个并发。 
web服务器往往可以并行处理多个连接,每一个链接都在一个单独的线程中处理,链接就是完成一个http的Get或者POST指令以及返回结果。超过最大连接数的请求就只有排队,等待别的某一个链接完成了服务器才开始接受新连接。  
网站配置一定量的并发连接数,是一种避免用尽资源的手段 
100个IIS连接数就可以有100个浏览器窗口同时与服务器连接 该评论在 2014/1/29 23:53:38 编辑过
 | 
	|  | admin 2014年1月29日 23:54 
			引用 2 楼 wuyq11 的回复:
 当一个网页被浏览,服务器就会和浏览者的浏览器建立链接,每个链接表示一个并发。web服务器往往可以并行处理多个连接,每一个链接都在一个单独的线程中处理,链接就是完成一个http的Get或者POST指令以及返回结果。超过最大连接数的请求就只有排队,等待别的某一个链接完成了服务器才开始接受新连接。
 网站配置一定量的并发连接数,是一种避免用尽资源的手段
 100个IIS连接数就可以有100个浏览器……
 
悲剧了,为什么考虑的是同一个人的同一页面请求,同一个人同一页面请求会产生多个并发吗,即使该页面有很多图片或js,css,那也是逐一请求而不是并发请求啊,并发请求,不是指的不同人同时请求导致并发吗? 该评论在 2014/1/29 23:54:00 编辑过
 | 
	|  | admin 2014年1月29日 23:54 
			1个页面有10张图片,2个Js,请求该页面时,会产生13个并发请求,还是逐一发生13个请求(不是并发)
 另外5个用户同时请求1个页面,会产生5个并发请求,还是放在请求队列中等待?
 该评论在 2014/1/29 23:54:24 编辑过
 | 
	|  | admin 2014年1月29日 23:54 
			1个页面有10张图片,2个Js,请求该页面时,会产生13个并发请求,还是逐一发生13个请求(不是并发)
连接不等于请求,在客户端建立一个连接可以处理2-4个请求,跟浏览器有关 
Internet Explorer 浏览器在同一时刻只能从同一域名下载两个文件。
另外5个用户同时请求1个页面,会产生5个并发请求,还是放在请求队列中等待? 
建立了5个连接,在每个连接中可以有多个请求处理,关键还是看你的程序效率,早处理完早释放连接,其他用户再请求你的页面时就不会超过连接数限制
 
个人理解,经验有限,期待后面的高人多多指正 该评论在 2014/1/29 23:54:36 编辑过
 | 
	|  | admin 2014年1月29日 23:54 
			同一页面有如果有10个JS+图片,那就相当于10个并发连接.这就是为什么大的网站,会把网站的各种小图标都放在同一张大图上,然后通过CSS来显示不同部分的原因,理由就是减少不必要的并发连接.
 
 但是,如果在IIS中开启"保持HTTP连接"选项,上述负面影响将大大降低.
 大多数 Web 浏览器要求在服务器向客户端发送多个元素(.htm 文件、.gif 或 .jpeg 文件)时保持客户端连接打开。以这种方式保持客户端连接称为保持 HTTP 连接.保持连接是一个 HTTP 规范,它能够增强服务器性能。默认情况下,启用“保持 HTTP 连接”。
 该评论在 2014/1/29 23:54:47 编辑过
 |