php web服务器。网站上线在即,请问如何测试服务器压力呢?比如如何知道这个网站到底能同时承受
利用一些软件吧,可用来进行 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
这是由微软的网站测试人员开发的专门用来进行实际网站压力测试以一套工具。透过这套功能强大的压力测试工具,管理人员可以在网站实际上线之前先网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。
下载并安装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、打开dreamweaver CS6软件。
2、点击菜单中的“站点”,选择“管理站点”。
3、打开管理站点中的“新建站点按钮”。
4、选中左边的服务器,然后单击右边下方的+按钮。
4、然后输入服务器名称、连接方法选择为“本地/网络”、选择网站所在文件夹、WebURL输入http://127001/,然后点击保存。
5、在刚刚新建的服务器中勾选“测试”然后单击保存。
6、然后点击完成,此时就创建好了。
网站发布前要进行细致周密的测试,以保证正常浏览和使用。主要测试内容:
1、服务器稳定性、安全性。
望站服务器的稳定和安全一直都是最头疼的事情,所以我们应该走到麻烦的前面,首先把预想到的麻烦排除掉。
Web服务器搭建完成上线在即,其能够承载多大的访问量,响应速度、容错能力等性能指标,所有这些是管理人员最想知道也最为担心的。如何才能知晓这一切呢通过工具进行Web压力测试是个好方法。通过它可以有效地测试Web服务器的运行状态和响应时间等性能指标。
2、程序及数据库测试。
每个程序都有自己相对应的功能,数据库则是数据集中的地方,尤其重要。
数据库开发既然在软件开发的比重逐步提高,随之而来的问题也突出。我们以前往往重视对代码的测试工作,随着流程技术的日益完善,软件质量得到了大幅度的提高,但数据库方面的测试仍然处于空白。我们从来没有真正将数据库作为一个独立的系统进行测试,而是通过对代码的测试工作间接对数据库进行一定的测试。随着数据库开发的日益升温,数据库测试也需要独立出来进行符合自身特点的测试工作。
在进行性能测试的时候,一定要注意环境的一致,包括:操作系统、应用软件的版本以及硬件的配置等,而且在进行数据库方面的测试的时候一定要注意数据库的记录数、配置等要一致,只有在相同条件下进行测试,才可以对结果进行比较。
3、网页兼容性测试,如浏览器、显示器。
网页打开多了 不会出现死页的情况,当然也有显示器的分辨率和浏览器的版本问题存在。
使用不同的浏览器访问同一个网站,或者页面的时候,在一种浏览器下显示正常,在另一种下就乱了。这是因为不同的浏览器对于网站CSS的解释不同。
常见的浏览器兼容性问题,主要表现在如下两方面;
1) 页面显示
页面显示的美观性是Web应用程序中重要需求,不同浏览器上呈现给用户的同一个Web页面可能显示的不一样。这些差异性主要表现在对于页面元素的位置、大小、外观。如果在某款浏览器上显示不美观,就会成为一个问题,需要修改。
2) 功能问题
Web软件中的功能性问题主要是不同浏览器对脚本的执行不一致,功能性问题极大的限制了用户对Web界面元素的使用。这类问题通常很难被发现,比如某个按钮可能显示正确但实际它是无法使用的,这个则需要用户真正的去使用它才能被发现。
4、链接及表单设计
链接测试可分为三个方面:
1)测试所有链接是否按指示的那样确实链接到了该链接的页面;
2)测试所链接的页面是否存在;
3)保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
表单测试,如用户注册、登陆、信息提交等,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
当然,网站测试还有很多方面的内容,诸如连接速度测试、负载测试、压力测试、接口测试、安全测试等等。网站测试需要用到各种测试工具,以及写一份合格的网站测试报告,这都是我们需要了解的。
0条评论