服务器性能指标:Apache压力测试工具ab

来源:互联网 发布:预装软件卸载 编辑:程序博客网 时间:2024/05/20 09:46

1. 概述


项目上线前,需要先知道web服务的性能指标,也就是服务器的并发处理能力。
服务器的吞吐率, 即qps, query per seconds.
需要通过压力测试来知道性能。
常用压测的工具 ab, ApacheBench

2. ab安装


ab为Apache附带压测工具。
安装Apache后在  apache/bin 目录下
安装:http://blog.csdn.net/yonggang7/article/details/22607721

3. ab使用


先检查ab工具是否正常,查看其版本号
cd apache/bin./ab -V
输出值
This is ApacheBench, Version 2.3 <$Revision: 1554214 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/
开始压测
./ab -n1000 -c10 http://localhost:8999/index.html
可以看到下面的结果
Server Software:        Apache/2.4.9Server Hostname:        localhostServer Port:            8999Document Path:          /index.htmlDocument Length:        45 bytesConcurrency Level:      10Time taken for tests:   0.223 secondsComplete requests:      1000Failed requests:        0Total transferred:      299000 bytesHTML transferred:       45000 bytesRequests per second:    4477.76 [#/sec] (mean)Time per request:       2.233 [ms] (mean)Time per request:       0.223 [ms] (mean, across all concurrent requests)Transfer rate:          1307.47 [Kbytes/sec] received

4. ab常用参数


-h    显示帮助信息
-V   查看版本号
-c   并发用户数
-n   总请求数
-C  请求cookie,用法 "cookie_name=value", 可重复
-d   不显示"percentage served within XX [ms] table".
-H  增加额外的请求头,
-i    用HEAD请求代替GET
-k   启用Http keepalive功能,
-v   显示详细信息  "-v4"  4或更大值会显示头信息,"-v3" 3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。
-w  以html格式输出结果
-t    超时时间,所有请求的最大执行时间,默认没有限制。

5. ab测试结果字段意思


Server Software:        服务器名称Server Hostname:        url主机名称Server Port:            端口Document Path:          url中绝对路径Document Length:        Http相应数据的正文长度Concurrency Level:      并发用户数,我们用-c设置的参数Time taken for tests:   所有请求处理完花费的时间 秒 secondsComplete requests:      总请求数,我们用-n设置的参数Failed requests:        表示失败的请求数,                        指请求在连接服务器,发送数据,接收数据等环节发生的异常,以及无响应后超时,超时时间可以用-t 来设置                        另外,如果响应头的http状态码为2XX以外的值,这些不算在失败的请求Total transferred:      表示http响应头和正文的总和 bytesHTML transferred:       相应正文的总和 bytesRequests per second:    这是最重要的数据,表示每秒处理请求数  requests per seconds 4634.07 [#/sec] (mean)Time per request:       用户平均等待时间2.158 [ms] (mean)Time per request:       服务器平均处理时间 0.216 [ms] (mean, across all concurrent requests)Transfer rate:          每秒从服务器获取的数据长度 1353.11 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)   每个请求处理时间的分布

6. 拐点测试


性能测试的结果一般为性能拐点值。当并发数越来越大时,服务器的qps反而会下降,处理时间会上升。
压力测试时将并发数由小到大进行测试,然后制作吞吐率随并发用户数变化的曲线图,服务器处理时间的曲线图。
在最高点为服务器性能的最大吞吐率。

0 0
原创粉丝点击