前段时间应领导要求对公司的一个网站首页进行访问量压力测试,由于本人对测试不是很精通(压力测试更是无从下手,后了解有个开源的Jmeter可以进行压力测试),但是硬着头皮答应了下来。下文既我所谓的测试报告,请指正。
测试目标:
1) 模拟测试每秒钟有15个人同时访问该页面行不行?
2) 模拟测试每天有10万人访问该页面行不行?
测试环境:
1) 服务器:
·硬件配置:Intel(R) Xeon(R) CPU E5335 @ 2.00GHz,2颗4核, 8G内存;
·操作系统:Linux操作系统,RHEL 5.3;
·应用服务器:Tomcat6.0(大线程树设为1000);
2) 客户端机器
·WINXP操作系统,CPU2.53GHz,内存3.25G
3) 测试软件:Jmeter 2.3.2 版本
测试内容:
1) 同时能访问**.com.cn页面的人数
根据市场部提供信息,该页面在9:00-11:00这两个小时,访问尤其突出,基本上占到全天访问量的50%左右,以后每天访问量将会有5W-10W,这里以10W为基准数据计算,则可由下述数据:
·每天访问量,记为A,则A=100000;
·9:00-11:00这两个小时的访问量,计为HA,则HA=A*50%=50000;
·每秒平均访问量记为SA,则SA=HA/(2*60*60) = 7;
·根据通用规则,SA的峰值为SA = SA+3*SQRT(SA) = 7+8 = 15;
通过上述分析,只要服务器能处理每秒钟15个人同时访问该页面即可。
测试参数设置:每秒激发100个线程(相当于每秒100个用户同时访问),循环5次(模拟5次)。
测试结果:
测试结果分析:在每秒钟有100个人同时访问该页面的情况下,每个用户显示页面的平均时间为10秒,小时间为3.7秒,大时间为22秒,出错率为0。根据测试结果显示,每秒钟并发15个没问题,但是流量有点高4.2M/秒。
2) 能访问Wahahaclub.wahaha.com.cn页面的多人数模拟
测试9:00-11:00,这2小时内,50000用户是否可以正常显示页面即可,由于测试机器原因,这里只测试了2个小时36000用户访问该页面的情况。
测试参数设置:每720秒激发3600个线程,循环10次(模拟10次)。
测试结果:
测试结果分析:总共应该有36000个样本,只显示32400个样本,那是因为有3600个样本,在该测试时间范围内在另外一台笔记本上进行了测试(笔记本测试得出3600个线程可以正常显示页面)。测试结果显示36000个线程显示页面的平均时间不到1秒,小的为0.4秒,大为51秒,90%都可在不到1秒内显示页面,流量还是有点大2.4M/秒。