如何测试网站最大并发数
这篇文章解决了很多用户的难题,就是如何通过最大用户并发数来确定系统最大用户数,因为这个问题不解决的话,用户很难挑选到最为适合自身系统的服务器,我们来看看这篇文章。以下是作者原文。
本篇主要是性能方面的。
一个系统的最大并发用户数为1100,怎么能推算出该系统的支持最大用户数。
其中用户性能要求如下:支持100万注册用户
性能需求分析:
1、根据用户的要求,本系统要支持100万用户,其中性能机器配置如何?高峰值是多少?带宽?等
2、如果都是采用公司的测试环境,那么本次性能应该做哪几种性能?性能评测、负载测试、强度测试?
3、怎么算出并发用户数?响应时间?
性能指标确定:
因为用户的性能需求太广,没有定到具体的数值。那么我怎么开展后继的工作?1、确定采用公司测试环境,不用考虑环境问题。也就是说,客户端、服务端以及带宽等一系统都可以不用考虑,这是固定。
2、考虑此项目组以前开发过的系统性能情况,能否做为一个参考值。解决方案:找出本项目组以并发过二个项目,其性能个项指标进行求权。其中浏览功能:并发数为1100,平均响应时间363秒;每用户平均响应时间为033秒。每秒中并发3个用户。其中一系统用户已达500万,另一系统用户为320万。并且二系统一直运行正常,但目前的二系统的服务器各为3台。可以得出一台服务器为载166万,甚至更多。(因为服务器中有求权的关系)
3、100万用户,那么怎么计算出他的每小时峰值活动用户数?
解决方案:采用80•20原则计算得到每小时峰值活动用户数 6667万/小时;那么每秒中的同一功能点点击并发数应该是185。
4、怎么得其并发数?
解决方案:本系统有多少个功能点?功能点为153个;也就是本系统在高峰值时一功能将被点击1258次,每秒点击035次。(不考虑间隔时间)考虑以前本项目组的数值。初步设置并发数为1100,主要以浏览功能为主、其次是查询和新增。
5、应该测试那种性能类型经再三考虑,三种性能都进行测试。
执行性能:
评测,依据性能指标确定中的第三点,将用户的并发设置为300-350,看其情况。负载测试,以1100为起点强度测试,为15小时和24小时为准
性能测试结果:
发现本系统最大用户支持为1100失败用户最高为209,响应时间为315。可以判断此系统最大并发数为1100左右。也就说此系统在一台服务器上可支持150万用户数。
根据上述情况,可以得出:
1100用户并发时,用户一共响应时间为315秒(即每用户平均响应时间0005秒),其中最高产生209个失败用户,但成功用户基本上可以完成后续操作,符合现系统要求的最大稳定用户数。由此可得出本系统在新增功能点中支持最大用户并发数为1100。按照1100比例,计算得到每小时峰值活动用户数11万/小时;采用80•20原则计算得出本系统支持注册用户数约为165万。而本系统性能需求大规模支持100万注册用户,由上述的数据我们的系统已达到本系统性能需求。
注:100万,采用80•20原则计算得到每小时峰值活动用户数6667万/小时。
一、服务器测试方法分为两个大方面,性能测试与功能测试。
在性能测试方面采用了新的测试方法,主要分为文件测试、数据库性能测试与Web性能测试三个方面。其中,文件性能与数据库性能采用美国Quest软件公司的Benchmark Factory负载测试和容量规划软件,Web性能测试则使用了Spirent公司提供的Caw WebAvalanche测试仪。
下载并安装WAST;
1.设置并行连接数;
2.设置持续时间;
3.其余设置;
注:所有以上的选项可以根据自己的需要进行设置。
设置完成后就可以进行压力测试。测试的步骤如下:
第一步,点击工具栏上的“New Script”按钮,在打开的面板中点击“Nanual”按钮创建一个新的测试项目。在打开的窗口中对它进行设置,在主选项中的Server中填写要测试的服务器的IP地址。这里我们填写192168120。在下方选择测试的Web连接方式,这里的方式Verb选择get。Path选择要测试的Web页面路径,这里填写/Indexasp即动网的首页文件,WAST可以设置更多的Path。
第二步,在“Settings”功能设置中将Stress Level (Threads)线程数设置为1000。然后点工具中的灰色三角按钮即可进行测试。测试过程中我们可以从服务器的任务管理器中看到CPU使用率已经达到100%,损耗率达到最大。在CMD窗口中使用命令netstat -an,可以看到客户端的IP地址在服务器上的80端口进行了非常多的连接,而且Web网站已经打不开了,提示过多用户连接。
转载,非原创网站的测试包括:
一:性能测试
(1)连接速度测试。用户连接到电子商务网的速度与上网方式有关,他们或许是电话拨号,或是宽带上网!
(2)负载测试。负载测试是在某一负载级别下,检测电子商务系统的实际性能。
也就是能允许多少个用户同时在线!可以通过相应的软件在一台客户机上模拟多个用户来测试负载。
(3)压力测试。压力测试是测试系统的限制和故障恢复能力,也就是测试电子商务系统会不会崩溃!
二:安全性测试
它需要对电子商务的客户服务器应用程序、数据、服务器、网络、防火墙等进行测试!用相对应的软件进行测试!
{上面的测试是针对电子商务的,在电子商务书上找到的,那个测试一般普通的网站就是二方面。
1基本测试
包括色彩的搭配,连接的正确性,导航的方便和正确,CSS应用的统一性
2技术测试
网站的安全性(服务器安全,脚本安全),可能有的漏洞测试,攻击性测试,错误性测试。 }
网站的评估主要对以下方面:网站界面,产品展示,在线支付,在线客服,线下产品配送。更重要的是目标消费者可以很方便快捷的找到该网站,从而进行电子商务活动让客户找到该电子商务网站。是否网站有一个搜索引擎!或是把自己的网站添加到一些大的分类目录上。再就是让目标客户记得你网站的名字(最终效果--品牌效果)并直接进去!个好的电子商务网站是看它是否经过搜索引擎优化了
一个网站基本完工后,需要通过下面三步测试才可以交活。
一、 制作者测试,包括美工测试页面、程序员测试功能。在做完后第一时间内有制作者本人进行测试。
a) 页面包括首页、二级页面、三级页面的页面在各种常用分辨率下有无错位;上有没有错别字;各连接是否是死连接;各栏目与内容是否对应等
b) 功能达到客户要求;数据库连接正确;各个动态生成连接正确;传递参数格式、内容正确;试填测试内容没有报错;页面显示正确
二、全面测试根据交工标准和客户要求,由专人进行全面测试 也是包括页面和程序两方面,而且要结合起来测,保证填充足够的内容后不会导致页面变形。另外要检查是否有错别字,文字内容是否有常识错误。
三、 发布测试 网站发布到主服务器之后的测试,主要是防止环境不同导致的错误。
利用一些软件吧,可用来进行 Web 压力测试的工具有很多,比如微软的 Web Application Stress、Linux下的 siege、功能全面的 Web-CT 等等,这些都是非常优秀的 Web 压力测试工具。
一、 Siege
一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
官方:http://wwwjoedogorg/
1 下载源码
请自行google例如:
wget http://softvpsernet/test/siege/siege-267targz
2 解压、编译和安装
tar -zxf siege-267targz cd siege-267/ /configure make && make install
3 运行siege
siege -c 200 -r 10 -f testtxt
-c是并发量,-r是重复次数。 url文件就是一个文本,每行都是一个url,它会从里面随机访问的。
testtxt 内容:
http://blogtestcom/wp-content/uploads/2012/07/cluster6png
http://blogtestcom/wp-content/uploads/2012/07/cluster7-150x150png
http://blogtestcom/wp-content/uploads/2012/07/cluster7png
http://blogtestcom/wp-content/uploads/2012/07/cluster8-150x150png
http://blogtestcom/wp-content/uploads/2012/07/cluster9-150x150png
4 结果说明
Lifting the server siege… done
Transactions: 3419263 hits //完成419263次处理
Availability: 10000 % //10000 % 成功率
Elapsed time: 599969 secs //总共用时
Data transferred: 8427391 MB //共数据传输8427391 MB
Response time: 037 secs //相应用时165秒:显示网络连接的速度
Transaction rate: 56991 trans/sec //均每秒完成 56991 次处理:表示服务器后
Throughput: 1405 MB/sec //平均每秒传送数据
Concurrency: 21342 //实际最高并发数
Successful transactions: 2564081 //成功处理次数
Failed transactions: 11 //失败处理次数
Longest transaction: 2904 //每次传输所花最长时间
Shortest transaction: 000 //每次传输所花最短时间
二、Webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,安装使用简单方便。
1 下载源码
请自行google例如:
wget http://blogs135com/soft/linux/webbench/webbench-15targz
2 解压、编译和安装
tar zxvf webbench-15targz cd webbench-15 make mkdir /usr/local/man #建立相应目录否则导致无法正常安装 make install
3 运行webbench
webbench -c 100 -t 30 http://1921681235/indexhtml
-c表示并发数,-t表示时间(秒)
Webbench - Simple Web Benchmark 15
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software
Benchmarking: GET http://1921681235/indexhtml
100 clients, running 30 sec
Speed=16084 pages/min, 152872 bytes/sec #运行结果显示
Requests: 8042 susceed, 0 failed
三、Web Application Stress Tool
这是由微软的网站测试人员开发的专门用来进行实际网站压力测试以一套工具。透过这套功能强大的压力测试工具,管理人员可以在网站实际上线之前先网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。
这个其实没有固定的算法,必须根据压测的目标特点进行估算。
以你的例子来说明:
要求支持5000-10000用户访问的购物网站,是在同一时间访问?还是一天的访问量呢?如果是一天的访问量,那么我们需要知道哪几个时间段访问人数最多。例如有10小时访问密集区,我们可以估算每小时1000用户,峰值2或者3,也就是每小时3000,那么合计一秒钟只要3000/3600 还不足1个并发。
如果是并发,那么就要测5000到10000了。
实际上你这是用客户视角来思考问题的,建议你采用服务器视角。
也就是说,你只管加压,看看服务器到多少并发达到峰值,用这种方法来指导网站程序和部署的优化,这才是最科学的。
0条评论