网站压力测试介绍

1.网站测试概念

1.测试类型

1.性能测试(Performance Test):通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。关注点:how much和how fast
2.负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
关注点:how much
3.压力测试(Stress Test): 压力测试是一种性能测试,模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

2.名词解释

1.吞吐率(Requests per second):服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
Request per second = Complete requests / Time taken for tests
2.并发连接数(The number of concurrent connections):某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
3.并发用户数(The number of concurrent users,Concurrency Level):要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。
4.用户平均请求等待时间(Time per request)
计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
Time per request = Time taken for tests /( Complete requests / Concurrency Level)
5.服务器平均请求等待时间(Time per request: across all concurrent requests),是吞吐率的倒数。
计算公式:处理完成所有请求数所花费的时间 / 总请求数,即
Time taken for / testsComplete requests
6.PV: 即PageView, 即页面浏览量或点击量,用户每次刷新即被计算一次。我们可以认为,用户的一次刷新,给服务器造成了一次请求。
7.UV: 即UniqueVisitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
8.TPS:TPS(Transaction Per Second)每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标。
9.响应时间: 响应时间是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成
参考链接:
http://www.cnblogs.com/ITwangy/archive/2010/02/24/1672077.html
http://www.cnblogs.com/tinywan/p/6007383.html

3.测试流程

https://help.aliyun.com/document_detail/29322.html

2.常用工具

1.webbench

Webbench是一个在Linux下使用的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接。

2.ab工具

ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。ab可以提供基本性能指标,但是没有图形化结果,不能监控。

3.http_load

程序非常小,解压后也不到100K。
http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求

4.JMeter

JMeter是开源测试工具,专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。原先是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况。可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示。

你可能感兴趣的:(测试)