ab基准测试分析

Apache Benchmark(ab)工具是最著名的基准测试工具之一,它是默认的Apache安装的一部分,能够通过模拟对特定URL的任意数量请求来对Web服务器进行负载测试。ab工具提供以下信息:

  • 传输的总数据大小(以字节为单位)
  • Web服务器在模拟流量下每秒可以支持的请求总数
  • 完成一个请求所花费的最长时间(以毫秒为单位)
  • 完成一个请求所花费的最短时间(以毫秒为单位)

使用ab工具还可以运行很多不同的负载模拟,例如:

  • 对Web文档的模拟请求
  • 指定时间内的请求
  • 打开Keep-Alive时的请求

最重要的是,Apache Benchmark是独立于Apache Web服务器的,也就是不启动web服务器,也可以运行此工具。

1、运行Apache Benchmark

在终端里输入:

#URL路径须完整,不能只是域名
#2000个请求总数,200个并发数
ab -n 2000 -c 200 http://item.XXXXXX.com/190006142.html

运行结果如下图:

2、压力测试结果数据分析
bbgds@BBGDS-PC d:\xampp
# ab -n 2000 -c 200  http://item.XXXXXX.com/190006142.html
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking item.XXXXXX.com (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Completed 2000 requests
Finished 2000 requests

#服务器信息
Server Software:        nginx/1.6.0
Server Hostname:        item.XXXXXX.com
Server Port:            80

#文档信息
Document Path:          /190006142.html
Document Length:        61126 bytes

#连接信息
Concurrency Level:      200                #所进行的并发请求总数
Time taken for tests:   35.020 seconds     #运行所花费的总时间
Complete requests:      2000               #模拟的请求总数中已完成的请求总数
Failed requests:        21                 #模拟的请求总数中失败的请求总数
   (Connect: 0, Receive: 0, Length: 21, Exceptions: 0)
Total transferred:      123161978 bytes    #整个模拟的响应中传输的总数据,大小包括标头数据(单位:字节)
HTML transferred:       122251978 bytes    **#整个模拟传输的内容正文的总大小(单位:字节)**
Requests per second:    57.11 [#/sec] (mean)    #每秒支持的请求总数
Time per request:       3502.000 [ms] (mean)    #满足一个请求需要花费的总时间(单位:毫秒)
Time per request:       17.510 [ms] (mean, across all concurrent requests)    #满足所有并发请求中的一个请求需要花费的总时间(单位:毫秒)
Transfer rate:          3434.48 [Kbytes/sec] received    #每秒收到的字节总数(Kb)

#连接指标细目分类
#展现请求在每个过程状态中所需的时间。Total字段中的最小值、最大值是关键字段。
#最小值:响应一个请求所需花费的最短时间
#最大值:响应一个请求所需花费的最长时间
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        9   17  71.3     11    1212
Processing:    84 3348 1153.4   3662    7078
Waiting:       41 1983 1245.2   1913    5028
Total:         98 3365 1156.0   3676    7102

Percentage of the requests served within a certain time (ms)
  50%   3676
  66%   3757
  75%   3784
  80%   3808
  90%   4840
  95%   5083
  98%   5808
  99%   6103
 100%   7102 (longest request)

其中"HTML transferred"、"Requests per second"及"Time per request"都是关键字段。这些字段使我们能够大概了解web服务器为一个请求返回的数据量、Web服务器一秒可以处理的请求总数以及一个请求成功地收到来自Web服务器的响应所花费的总时间。 一般来说,我们的程序优化目标是降低"HTML transferred",提高"Requests per second"并且降低"Time per request"值。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构之美

五分钟学会Elasticsearch查询代理设计

1534
来自专栏大内老A

[WCF-Discovery]让服务自动发送上/下线通知[原理篇]

到目前为止,我们所介绍的都是基于客户端驱动的服务发现模式,也就是说客户端主动发出请求以探测和解析可用的目标服务。在介绍WS-Discovery的时候,我们还谈到...

2246
来自专栏张善友的专栏

Windows Server AppFabric Caching

这套 AppFabric Caching 比我用过的 memcached 复杂多了,MSDN有一篇文章进行介绍Introduction to Caching w...

2199
来自专栏日常学python

爬虫实践: 获取百度贴吧内容

本次要爬的贴吧是<< 西部世界 >>,西部世界是我一直很喜欢的一部美剧,平时有空也会去看看吧友们都在聊些什么。所以这次选取这个吧来作为实验材料。

1802
来自专栏互联网技术栈

Dubbo作者聊 设计原则

转于自己在公司的Blog: http://pt.alibaba-inc.com/wp/experience_1301/code-detail.html

3034
来自专栏liuchengxu

可移植的 Makefile 教程

在我写 Makefile 的头 10 年里,我养成了一个非常不好的习惯 -- 完全严格使用 GNU Make 的扩展名。过去我并不知道, GNU Make 与...

941
来自专栏FreeBuf

手工检测Web应用指纹的一些技巧

0x01 Web 应用技术概览 1.1 架构 大多数 web 应用可以粗略划分为三个组件(component)。 1、客户端, 大多数情况下是浏览器。 2、服务...

5986
来自专栏SeanCheney的专栏

《Python分布式计算》 第6章 超级计算机群使用Python (Distributed Computing with Python)典型的HPC群任务规划器使用HTCondor运行Python任务

本章,我们学习另一种部署分布式Python应用的的方法。即使用高性能计算机(HPC)群(也叫作超级计算机),它们通常价值数百万美元(或欧元),占地庞大。 真正的...

1.5K10
来自专栏小灰灰

Quick-Task 动态脚本支持框架之结构设计篇

文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构...

1143
来自专栏三丰SanFeng

Linux同步机制 - 基本概念(死锁,活锁,饿死,优先级反转,护航现象)

死锁(deadlock) 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态...

3289

扫码关注云+社区

领取腾讯云代金券