使用 Apache AB 对服务器进行压力测试

2019-07-17  本文已影响0人  四沟一

ab

ab(Apache Bench)是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

安装

我使用的环境为Ubuntu-14.04,输入命令:
apt-get install apache2-utils

安装成功后就可以开始进行测试。

测试

测试命令的格式为:

ab [options] [http://]hostname[:port]/path

options为参数,有以下几种:

参数很多,但我们通常使用到的是 -n-c,即总的请求数同时并发数

在命令行输入:
ab -n 100 -c 20 http://www.test.com/
即对此域名的服务器进行并发数20,总的请求为100的压力测试。

实例

首先,在我本机运行一个tornado的http服务器的demo,然后输入测试命令:

ab -n 2000 -c 100 http://localhost:9998/

然后可以看到输出的测试结果:

Server Software:        TornadoServer/4.4.1
Server Hostname:        localhost
Server Port:            9998
//这段是服务器信息,可以看到使用的是Tornado,地址为本地,端口为9998

Document Path:          /
Document Length:        790 bytes
//测试的页面和页面大小

Concurrency Level:      100
//测试的并发数
Time taken for tests:   4.746 seconds
//测试持续时长
Complete requests:      2000
//测试的请求数
Failed requests:        0
//失败的请求数
Total transferred:      1972000 bytes
//整个过程中数据量
HTML transferred:       1580000 bytes
//整个过程中HTML数据量
Requests per second:    421.43 [#/sec] (mean)
//平均每秒处理请求数
Time per request:       237.288 [ms] (mean)
//平均每个请求处理时长(并发数为一个整体,即100个并发同时请求)
Time per request:       2.373 [ms] (mean, across all concurrent requests)
//平均每个请求处理时长(对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数)
Transfer rate:          405.79 [Kbytes/sec] received
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

Connection Times (ms)
            min  mean[+/-sd] median   max
Connect:        0   17  75.6      0     443
Processing:     6  209 350.2     98    1720
Waiting:        6  208 349.5     98    1716
Total:          6  226 420.4     98    2156
//网络上消耗的时间的分解

Percentage of the requests served within a certain time (ms)
50%     98
66%    108
75%    114
80%    121
90%    507
95%    534
98%   2058
99%   2093
100%   2156 (longest request)
//整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中50%的用户响应时间小于98毫秒,最大的响应时间小于2156毫秒。

几个重要指标


layout: post
title: "使用 Apache AB 对服务器进行压力测试"
subtitle: ""
date: 2017-03-01 12:00:00
author: "ZWY"
header-img: "img/in-post/3-1/banner.jpg"
catalog: true
tags:
- 压测
- 教程
- 服务器


上一篇 下一篇

猜你喜欢

热点阅读