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. NameNode 和 SecondaryNameNode

    1. NN 和 2NN 工作机制 NameNode 会产生在磁盘中备份元数据的FsImage; 每当元数据有更新或者添加数据时,修改内存中的元数据并追加到Edits中; SecondaryNameNo ...

  2. 2.2注册中心:Eureka

    pom.xml配置 <?xml version="1.0" encoding="UTF-8"?><project xmlns="ht ...

  3. NOIP2012 借教室 题解 洛谷P1083

    一看就是暴力 好吧,其实是线段树或差分+二分,这里用的是差分+二分的做法. 二分部分的代码,套个二分板子就行 ,right=m; while(left<right)//二分 { ; ; else ...

  4. Codeforces 718A Efim and Strange Grade 程序分析

    Codeforces 718A Efim and Strange Grade 程序分析 jerry的程序 using namespace std; typedef long long ll; stri ...

  5. easyUI datagrid 刷新取消加载信息 自动刷新闪屏问题

    <style type="text/css"> /*-- 消除grid屏闪问题 --//*/ .datagrid-mask { opacity: 0; filter: ...

  6. 一、python快速入门(每个知识点后包含练习)

    1. 编程与编程语言 编程的目的是什么? #计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一 ...

  7. How does a browser know which response belongs to which request?

    Today I knows that the server never send a request to a client! It just make response~ So,if the bro ...

  8. 刚接触neo4j 问下 neo4j 生成的节点图形可以发布为纯网页方式么

    6 回复 pangguoming 1楼•3 年前 你是想要neo4j web控制端的可视化功能吗? 那是用D3.js 做的,你用前端用D3.js配合Java自己做 或者 去下载neo4j 的前端 开源 ...

  9. css3控制字体动态变换颜色

    css3控制字体动态变换颜色 <!doctype html> <html> <head> <meta charset="utf-8"> ...

  10. 未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接) (.Net SqlClient Data Provider)

    今天连接服务器的SQL Server 遇到了一个很经典的问题 之前也曾多次遇到过 这次记录一下 按照之前经验 首先 开启了服务中的 SQL Server(MSSQLSERVER)和ASP.NET St ...