apache benchmark(ab)是一种常见的压测工具,不仅可以对apache进行压测,也可以对nginx,tomcat,IIS等进行压测

安装

如果安装了apache,那么ab已经自带了,不需要再额外安装,如果没有安装apache,可以通过以下方式安装

# ubuntu
sudo apt-get install apache2-util # centos
yum -y install httpd-tools

压测

在压测前,需要关注几个选项,通过ab --help查看

-n  requests       要执行的请求次数
-c concurrency 并发数量
-s timeout 响应时间

#### 执行

执行以下代码进行压测

ab -n 1000 -c 100 -s 1 http://127.0.0.1:1080/index
# 一共1000个请求,并发100,超时时间为1s,后面为测试的url

测试结果

apr_pollset_poll: The timeout specified has expired (70007)
Total of 997 requests completed

显示有997个请求完成了,而且报错了,说明有请求超过1s,所以把超时时间去掉重新测试

ab -n 1000 -c 100 http://127.0.0.1:1080/index

结果

Server Software:        nginx/x.x.x
Server Hostname: www.my.com
Server Port: 80 Document Path: /
Document Length: 2368 bytes Concurrency Level: 100
Time taken for tests: 30.914 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 2527000 bytes
HTML transferred: 2368000 bytes
Requests per second: 32.35 [#/sec] (mean)
Time per request: 3091.393 [ms] (mean)
Time per request: 30.914 [ms] (mean, across all concurrent requests)
Transfer rate: 79.83 [Kbytes/sec] received Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 174 381.6 0 2006
Processing: 1 2391 6166.6 205 25853
Waiting: 1 2080 5941.6 205 25853
Total: 2 2565 6143.6 406 26609 Percentage of the requests served within a certain time (ms)
50% 406
66% 1004
75% 1413
80% 1616
90% 6448
95% 25760
98% 25824
99% 25855
100% 26609 (longest request)

这里我们需要关注以下几个数据

1)Failed requests:失败的请求

2)Requests per second:也就是常说的QPS, 每秒查询率,这是一个平均值

3)Time per request:完成一个请求所花费的时间

4)Transfer rate: 网络传输速度。 对于大文件的请求测试,这个值很容易成为系统瓶颈所在 要确定该值是不是瓶颈,需要了解客户端和被测服务器之间的网络情况,包括网络带宽和网卡速度等信息。

压测工具ab的简单使用的更多相关文章

  1. 压测工具 ab jmeter

    apach ab|abs ab  -n -c xxx.html/js/css jmeter siege 用途:测试分布式锁是否有效, 测试java Lock是否使用正确,测试接口吞吐量

  2. 压测工具ab

    1.安装abyum install httpd-tools 2.使用ab -n 2000 -c 2 http://www.cctv.com-n:总的请求数-c:并发数-k:是否开启长连接 3.结果举例 ...

  3. 精准容量、秒级弹性,压测工具 + SAE 方案如何完美突破传统大促难关?

    作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文 ...

  4. ab压测工具的一些个人见解

    ab压测工具(linux版)由于网上教程一大把,今天也按照教程好好研究了一番,下面写一下对此工具的一些个人见解,如有不妥,希望一起探讨.   优点: 1.小巧. 2.理论支持655350并发数.实际3 ...

  5. web服务器压测工具siege、ab

    web服务器压测工具也挺多,这里只介绍我用过的这两种--siege(for linux).ab(for windows). 一.siege 1.简介: Siege是一款开源的压力测试工具,设计用于评估 ...

  6. [SCF+wetest+jmeter]简单云性能压测工具使用方案

    前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/pr ...

  7. ab压测工具

    在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求 ...

  8. ab(http)与abs(https)压测工具

    在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请 ...

  9. Http 压测工具 wrk 基本使用

    Http 压测工具 wrk 基本使用 Intro wrk 是一款现代HTTP基准测试工具,能够在单个多核CPU上运行时产生显着负载.它将多线程设计与可扩展事件通知系统(如epoll和kqueue)结合 ...

随机推荐

  1. Python基础总结之初步认识---class类(中)。第十四天开始(新手可相互督促)

    昨天简单的认识类怎么定义,什么是类,类如何调用.今天的笔记会大概补充一些内容,明天的笔记会细致讲解,加深个印象即可 今天我们在了解下:类的属性,类属性属于类也属于实例化对象.也就是说类的实例化对象可以 ...

  2. 使用nginx构建限频、限速、限并发的应用保护层

    使用nginx构建限频.限速.限并发的应用保护层 nginx本身提供了基础的限频.限速.限并发连接等能力. 限频 基于uri等限制某一个客户端,某类客户端持续时间段内建立连接的次数. 限速 限制客户端 ...

  3. HDU 1811 并查集+拓扑排序

    Rank of Tetris 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1811 Problem Description 自从Lele开发了Rati ...

  4. php分页思路

    <?php class page{ public $nowPage=1; public $perPage=10; public $showPage=10; public $totalPage; ...

  5. mydumper,myloader原理及实战

    mydumper 特性 (1)多线程备份(和mysqlpump的多线程不同,mysqlpump多线程备份的粒度是表,mydumper多线程备份的粒度是行,这对于备份大表特别有用)(2)因为是多线程逻辑 ...

  6. Java 抽象类详解

    在<Java中的抽象方法和接口>中,介绍了抽象方法与接口,以及做了简单的比较. 这里我想详细探讨下抽象类. 一.抽象类的定义 被关键字“abstract”修饰的类,为抽象类.(而且,abx ...

  7. ASP.NET Core 2.0 中读取 Request.Body 的正确姿势

    原文:ASP.NET Core 中读取 Request.Body 的正确姿势 ASP.NET Core 中的 Request.Body 虽然是一个 Stream ,但它是一个与众不同的 Stream ...

  8. C# Extension Methods(C#类方法扩展)

    使用Extension methods 可以在已有的类型(types)中添加方法(Methods),而无需通过增加一种新的类型或修改已有的类型. 比如说,想要给string类型增加一个PrintStr ...

  9. .Net Core项目如何设置静态页面为项目的启动页面?

    最近在使用Core的webApi作为服务器端的数据提供者,但是需要有自己的官网,来指导前端如何使用该接口,因为不想接入MVC这么大的框架,于是写了个静态页面挂上doc文档提供下载就行. 在项目的Sta ...

  10. vue阻止右键默认行为

    vue阻止右键默认行为 <!--不阻止右键菜单(浏览器行为),右键执行函数show--> <input type="button" value="按钮& ...