版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息
一、测试思路
制作网页若干,在一个域名(tt1.howmax.com)下放置20个不同文件名的图片(URI不同)为一组,先用一组测出浏览器的per host max数,再逐步增加组,测试浏览器process(thread) max数,最终网页中图片的总个数为20×n组,请求期间在服务器端用netstat查看TCP连接情况,在客户端用MS NetworkMonitor 3.3抓包分析,两边数据对照结合以确定TCP连接总数,以下是包含一组图片的测试网页截图
二、测试详细设定
服务器端
1、http服务器为apache,在main server的document root下放测试用的网页,避免为不同域名配置vhost
2、增加一个图片别名:AliasMatch ^/test/big.* /data1/apache2/htdocs/test/big1.jpg 避免图片物理拷贝
3、确保KeepAlive打开,KeepAliveTimeout为5秒,如果KeepAlive为关闭,服务器完成一次响应后会主动关闭TCP连接
4、在请求期间用以下命令统计netstat,输出的数字减1后为当前与浏览器请求图片而建立的TCP连接数,减1是因为要html网页请求建立的TCP连接,具体见下方截图
netstat -a -t|grep http|tee rst.txt|wc -l
客户端
1、配置host
192.168.1.101 tt1.howmax.com tt2.howmax.com .... tt10.howmax.com
2、MS NetworkMonitor中设置以下Capture Filter
(tcp.DstPort == 80 and ipv4.DestinationAddress == 192.168.1.101)
or
(tcp.SrcPort == 80 and ipv4.SourceAddress == 192.168.1.101)
在Display Filter中设置
contains(http.Request.HeaderFields.Host, "howmax")
3、其它:
a、per host定义:按域名而不是按IP作唯一host判定
b、process(thread):浏览器进程(线程),IE下一个window或者一个tab页都表现为一个process,而FF的内部处理机制与IE不同,FF的一个window为一个process,tab不占用process
以下是在W7中用IE8请求包含一组图片的网页(上方截图的网页)的netstat和MS Network Monitor抓包的截图,在请求多组图片时结果与一组类似,只是数量增加,这里不再列举
三、测试结果
1、IE7未做测试是因为找不到合适的机器,有一个笔记本有IE7,但因为机主工作需要做兼容性测试,安装了Internet collection后怀疑被污染导致最后放弃了IE7的测试
2、关于IE6、8的per host max,XP注册表中的值与IE6实测结果一致,为2个,但IE8在W7注册表中写着是6个,实际却是16个
3、关于IE的process max,IE6最多在16个域名的情况下达到32(2×16)个连接,IE8在5个域名的情况下达到80(16×5)个连接,此后便没有尝试增加更多的 host测试,是否受系统的TCP最大连接数影响也没有进一步验证,考虑这年头的迅雷、驴子等下载软件都会主动帮用户修改这个值,上限应该不是问题
4、IE的测试结果在不同的Windows发行版中可能不一致,例如在LCH的W7上测试时IE8就是10个MAX,但也不是传说中的6个,FF则在XP, W7上都保持了一致,有兴趣的同学可以自己测试一下
1、Windows7的host配置一行最多10个域名,第11个开始无效,需要另起一行再写
2、关于网页刷新,这个曾经网上看到有人说过,这里可以再确认和补充一下
a、点击“转到”,在IE下不会发起任何请求,仅仅是重新渲染而已,但FF(3.5)有些不同,如果超过一定时间,会就地址栏中的URL发起一次请求,但不会对页面元素发起任何请求,如果不是304,则请求新增加的元素(仅仅请求新增加的元素),这里的一定时间确切是多长也未知,感觉是1分钟
b、按F5或者点击“刷新”按钮,会将现有所有内容与服务器确认,也就是发起的HTTP请求头中包含If-Modified-Since和If-None-Match这两个字段,服务器依据这两个字段进行对比,浏览器收到304响应则不再重新获取
c、Ctrl + F5则是所有内容都重新加载,服务器不会有304响应,因为这时发起的HTTP请求头中没有If-Modified-Since和If-None-Match这两个字段
d、在地址栏输入相同地址(或者选中、回车),等同于与“转到”
测试一段时间后发现,对于“并发连接”这个概念,从浏览器的角度来说可能有不同的理解,这篇文章说的并发连接主要是网络层面的TCP连接,在用了dynaTrace 后发现也可以理解为浏览器内部的渲染线程,但无论怎么理解,根据以上的测试结果来看,以后估算服务器的hits量时是需要更新估值了
分享到:
相关推荐
在当前的Web开发实践中,许多开发人员可能会忽视浏览器最大并发连接数这一限制因素。例如,IE6和IE7浏览器允许6个并发连接,IE8、Firefox 3、Chrome 10、Safari 3/4、Opera 10等允许4个并发连接。而根据HTTP协议的...
**重要性:** 在进行性能测试时,了解并发连接数对于评估系统在高负载下的表现至关重要。这有助于确定服务器在特定时间点能够处理多少个请求,从而确保服务的稳定性和响应速度。 **应用场景:** - 在压力测试中,...
在HTTP/1.1协议下,不同浏览器能够支持的并发连接数是不同的,如IE7支持两个并发连接,IE8支持六个并发连接,而FireFox3支持四个并发连接。因此,在计算并发用户数时需要将并发用户数除以相应的并发连接数。 2. ...
在这个配置下,使用IE7、Firefox3.5和Chrome3.0三种不同浏览器打开同一个站点,实验结果显示,由于最大连接数的限制,新打开的浏览器在超出连接数限制时会收到"ServiceUnavailable"的提示。这说明在有限的连接数设置...
2. **项目背景介绍**:TinyShop是一款适用于企业和个人快速搭建个性化网上商店的电子商务平台,兼容多种主流浏览器如IE和Firefox。它旨在提供便捷的在线购物服务,因此对系统的稳定性、速度和可扩展性有着高要求。 ...
这通常与用户的浏览器设置有关,例如IE7支持2个并发连接,而IE8和Firefox3分别支持6个和4个。 3. 并发用户数(The number of concurrent users, Concurrency Level): 并发用户数与并发连接数不同,它代表的是...
27. **操作系统和浏览器**:常见的操作系统平台有Windows、Android、Linux、iOS和Unix,常见浏览器有IE、Firefox、Chrome和Safari。 28. **SQL注入**:通过输入特殊字符或关键词来尝试攻击,防御方法包括转义特殊...
- **性能优化**:减少服务器负载,例如限制并发连接数,使用高效的压缩算法等。 - **安全问题**:确保数据传输的安全性,防止中间人攻击或其他安全漏洞。 为了简化Comet应用的开发,可以利用开源框架,如Pushlet。...
8. 多域名存储资源:使用多个域名存储资源可以突破浏览器对单域名并发连接数的限制,从而加快资源的加载速度。 9. 网页标准与机构:网页标准和标准制定机构如W3C的重要性在于维护全球互联网技术的一致性和发展。 ...
6.终端接入能力,支持全终端浏览器接入并访问WEB资源,包括IE8及以上版本、Chrome69及以上版本、Edge、Firefox、Opera、Safari等主流浏览器。 7.可信应用,仅允许信任进程访问资源,有效防止木马入侵系统后攻击...
3.3 当使用 Firefox 浏览器时,为什么有些页面显示效果与 IE 浏览器有差异 这可能是因为不同浏览器对某些Web标准和插件的支持程度不同。虽然H3C CAS努力实现跨浏览器兼容,但可能存在小部分功能或界面在特定浏览器下...
1. **浏览器兼容性测试**: 开发者需要在不同的浏览器上测试页面,如Chrome、Firefox、IE、Safari等,其内核分别为Blink、Gecko、Trident、WebKit。 2. **Doctype声明**: 它用于告诉浏览器该页面使用哪种HTML或XHTML...
- 不同浏览器对同一主机的并发连接数有限制,例如Firefox为6,IE6为2。这意味着如果页面中有很多小图,可能会达到这个限制,导致新的资源请求被阻塞,直到当前请求完成。减少HTTP链接数可以充分利用并发机制,避免...
它支持与IE浏览器以及其他多种主流浏览器(如Chrome、Firefox、Safari等)集成,可以在浏览器中无缝接收到下载任务,并自动管理这些下载。IDM的特性包括: 1. **多线程下载**:IDM将每个下载文件拆分为多个部分,每...
服务器端采用VC++进行开发,客户端则是通用浏览器,如IE9.0以上、Chrome45、Firefox43以及移动端浏览器。WebSocket技术用于浏览器与服务器之间的数据交换,而SVG则用于在浏览器中呈现监控画面。 在WebSocket出现...
常见的浏览器内核包括:WebKit(Safari、Chrome)、Gecko(Firefox)、Blink(基于WebKit改进,用于Chrome和Opera)。 5. **简述一下你对HTML语义化的理解?** - **HTML语义化**指的是使用有意义的HTML标签来构建...
6. **跨浏览器兼容**:ComponentArt 的组件通常设计为跨浏览器兼容,确保在主流的浏览器(如IE、Firefox、Chrome等)上都能正常工作,提供一致的用户体验。 7. **性能优化**:ComponentArt 重视性能优化,他们的...
3. **浏览器集成**:支持包括 Chrome、Firefox、IE 在内的主流浏览器,可以在网页视频或音频流中自动捕获并添加到下载队列。 4. **恢复和断点续传**:如果下载中断,无论是因为网络问题还是计算机关闭,IDM 都能从...
- 浏览器:IE8及以上版本,Chrome,Firefox,Safari等现代浏览器。 **1.5 网络环境要求** - 网络带宽:建议至少为10Mbps。 - 网络延迟:建议不超过100ms。 - 网络丢包率:建议低于1%。 #### 二、系统安装配置 *...