ab是apache 进行http服务器压力测试的一个工具。用来衡量apache 服务器的执行效率,能够检测出apache每秒能够处理的请求数。

一个使用的例子如下(windows下)

ab -n  -c  http://www.baidu.com/

上面这个命令能够检测百度服务器的承压情况,其中-n 100表示总共发起100个连接请求,而-c 10表示同时维持10个并发。测试结果如下和字段的含义解释如下(飘黄是解释):

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/ Benchmarking www.baidu.com (be patient).....done
Server Software:        BWS/1.1      ##  服务器的软件名称, 如果是apache,则会显示是apache,这个字段选自http的response头部的header 字段
Server Hostname: www.baidu.com ## 请求的域名
Server Port: 80      ## 请求的端口 Document Path: /        ## 本次请求的文档路径
Document Length: 86001 bytes  ## 请求的response的文档大小 Concurrency Level: 10     ## 并发度,对应了命令中的 -c 10
Time taken for tests: 6.901 seconds  ## 测试花费的时间
Complete requests: 100        ## 完成的请求个数
Failed requests: 95        ## 失败的请求个数
(Connect: 0, Receive: 0, Length: 95, Exceptions: 0)
Total transferred: 8696312 bytes  ## 从服务器接收的byte个数,包含http头
HTML transferred: 8610757 bytes  ## 从服务器接收的html文档的总个数
Requests per second: 14.49 [#/sec] (mean) ##每秒处理的请求书14.49 = 100 / 6.901
Time per request: 690.140 [ms] (mean) ##单一请求的处理时间(客户端感知的时间)
Time per request: 69.014 [ms] (mean, across all concurrent requests) ##每个请求的处理时间(加上并发), 侧重于看服务器端的处理能力
Transfer rate: 1230.55 [Kbytes/sec] received ##传输速率 Connection Times (ms)
              min  mean[+/-sd] median   max
Connect: 1 64 421.1 4 3000
Processing: 11 615 1164.2 62 3146
Waiting: 3 253 765.6 27 3062
Total: 12 679 1214.4 63 3151 ##最快的请求响应时间是12ms, 最长的是3151ms Percentage of the requests served within a certain time (ms) ## 给定时间内得到响应的请求数(百分比)
50% 63   ## 63ms内50%的请求得到了响应
66% 142
75% 164
80% 3033
90% 3107
95% 3133
98% 3141
99% 3151
100% 3151 (longest request)

ab工具虽然是apache用来给自己做测试用,也可以用来测试其他版本的服务器。功能上ab比较完整,支持多个参数,捡几个常用的介绍一下。

-k 启用 KeepAlive, 一个会话里发起多个请求。
-i 发起HEAD请求,而不是GET请求

其他的参数用到的时候在解释吧。

我在测试自己写的简单服务器时会发现出一个错误:

Benchmarking 127.0.0.1 (be patient)...apr_socket_recv: 远程主机强迫关闭了一个现有的连接。 (730054)

查了一下资料, 需要加上-k的参数来解决。

apache 的ab 工具的更多相关文章

  1. PHP压力测试使用apache的ab工具和Linux的time命令

    ab工具是apache自带的一个压力测试工具,可以在apache的安装路径下的bin目录下找到,我的环境中是在/usr/local/apache/bin/目录下: ab 压测主要使用两个参数: -n ...

  2. 使用Apache的ab工具进行网站性能测试

    Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便. ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n ...

  3. (转)使用Apache的ab工具进行压力测试

    转:http://www.cnblogs.com/luckyliu/archive/2012/03/04/2379306.html Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境, ...

  4. 如何使用Apache的ab工具进行网站性能测试

    1.打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具. 2.在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程 ...

  5. Windows如何使用Apache的ab工具进行网站性能测试(Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便)

    打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序.注意 ...

  6. 【Apache】ab工具

    格式:ab  [options] [http://]hostname[:port]/path -n requests Number of requests to perform //在测试会话中所执行 ...

  7. 安装性能测试工具:sysbench和使用apache的ab

    一.软件的用途,它主要包括以下几种方式的测试:1.cpu性能2.磁盘io性能3.调度程序性能4.内存分配及传输速度5.POSIX线程性能6.数据库性能(OLTP基准测试) 这个软件为什么找不到官网呢? ...

  8. apache的AB测试

    A/B测试A/B测试是一种新兴的网页优化方法,可以用于增加转化率注册率等网页指标..A/B测试的目的在于通过科学的实验设计.采样样本代表性.流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信 ...

  9. Apache 的ab测试

    <!-- 博主所有文章仅是作为自己的笔记 如有不足 请见谅--> Apache的ab测试  和  ab测试 不是一个东西(百度 ab测试可以了解) 网站性能压力测试是服务器网站性能调优过程 ...

随机推荐

  1. 说明&总目录

    1. 说明 1.1 这是一个乱七八糟的博客,包含遇到的各类问题,甚至会有奇♂怪的东西~ 1.2 作者目前本科生,懒虫一只,喜欢吃喝玩乐看动漫,更喜欢睡觉 1.3 文章难免有错,欢迎指出 1.4 语死早 ...

  2. 一个flag

    最近要学的东西 1.矩阵树定理 2.KM 3.FFT 4.单纯型 5.自动机系列 6.插头DP 7.计算几何(?) 8.数学相关(?)

  3. android 开发 对图片编码,并生成gif图片

    demo场景: 将2张静态的png格式图片组合生成一个gif图片,间隔500毫秒,关键类:AnimatedGifEncoder 如需要解析gif获取每帧的图片,可参考上一篇博客:<android ...

  4. 【笔记】ASP.NET MVC Model元数据

    问题1:什么叫Model元数据? Model元数据,是针对数据类型的一种描述信息.由于复杂类型(或者说类型嵌套的存在,比如CustomerModel中有一个属性为复杂类型Address)的存在,因此M ...

  5. Java 7 中 NIO.2 的使用——第二节 元数据文件的属性

    如果你有很多疑问关于一个文件或目录,它是否是隐藏的,它的大小是多少,谁拥有它,你可以从元数据中得到这些信息.所谓的元数据,就是描述数据的数据. NIO.2组织了这些原数据的属性的概念,并提供了java ...

  6. Posix线程编程指南(1) 线程创建与取消

    线程创建 1.1 线程与进程 相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列.在串行程序基础上引入线程和进程是为了提高程序的 ...

  7. log4j.xml配置文件

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration S ...

  8. Leetcode#129 Sum Root to Leaf Numbers

    原题地址 二叉树的遍历 代码: vector<int> path; int sumNumbers(TreeNode *root) { if (!root) ; ; path.push_ba ...

  9. 【bzoj1014】[JSOI2008]火星人prefix

    1014: [JSOI2008]火星人prefix Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6031  Solved: 1917[Submit] ...

  10. tomcat集群 (自带Cluster集群)

    不用借助其他任何工具,tomcat自身就可以实现session共享,实现集群.以下为大概步骤 1,如果是在同一台机器上,请保持多个tomcat端口(一个tomcat对应三个端口)不相同:如果是不同机器 ...