http压力测试工具及使用说明

说明:介绍几款简单、易使用http压测工具,便于研发同学,压测服务,明确服务临界值,寻找服务瓶颈点。

压测时候可重点以下指标,关注并发用户数、TPS(每秒事务数量)、RT(事务响应时间)、事物失败率、CPU(不要超过70%)、LOAD(4核以下服务,不要超过2)

http_load

以并行复用的方式运行,以测试web服务器的吞吐量与负载。不同于大多数压力测试工具,它是单进程,所以一般不会把客户机搞死,也可以测试https类网站的请求。

支持多个url。

官方网站

wget http://acme.com/software/http_load/http_load-14aug2014.tar.gz
tar zxvf http_load-14aug2014.tar.gz
ln -s http_load-14aug2014 http_load
cd http_load
make && make install
➜ /Users/yxy/data/soft/http_load >http_load --help
usage:  http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
            -parallel N | -rate N [-jitter]
            -fetches N | -seconds N
            url_file
One start specifier, either -parallel or -rate, is required.
One end specifier, either -fetches or -seconds, is required.
参数简单说明
-parallel 简写-p:并发的用户数
-rate     简写-r:每秒访问次数
-fetches  简写-f:总计访问次数
-seconds  简写-s:持续访问时间
url_file  压测url(文件形式,需要访问的url,支持多个,每行一个)

执行实例

➜ /Users/yxy/data/soft/http_load >http_load -p 10 -s 10 urls   #10个并发用户,连续不停访问10s,
182 fetches, 10 max parallel, 1.03449e+06 bytes, in 10.0038 seconds
--182次访问,最大并发数是10,总计传输数据1.03449e+06字节,运行时间10
5684 mean bytes/connection
18.1932 fetches/sec, 103410 bytes/sec
--每秒的响应请求18.1932,每秒传递的数据为103410字节
msecs/connect: 24.8529 mean, 1048.38 max, 4.062 min
--连接平均响应时间是24.85毫秒,最大响应时间1048毫秒,最小响应时间4毫秒
msecs/first-response: 483.459 mean, 683.458 max, 164.157 min
--每次连接平均返回时间 平均,最大,最小
HTTP response codes:
  code 200 -- 182

Apache Bench(Apache自带服务器压力测试工具)

➜ /Users/yxy >ab -c 10 -n 50 http://192.168.100.152:18800/casefolder-social/question/detail?shareUID=40d0c000-09b6-416c-b626-b9ce61399d07
-- -n 表示:每次请求数,默认不能超过1024个,-c表示:1个请求的并发连接数,默认最大不能超过50000
-- 模拟50个并发连接每次以100个请求数来测试网站的Web性能
This is ApacheBench, Version 2.3 <$Revision: 1663405 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.100.152 (be patient).....done
 
Server Software:        Apache-Coyote/1.1
Server Hostname:        192.168.100.152
Server Port:            18800
Document Path:          /casefolder-social/question/detail?shareUID=40d0c000-09b6-416c-b626-b9ce61399d07
Document Length:        641 bytes
Concurrency Level:      10
Time taken for tests:   0.703 seconds
Complete requests:      50
Failed requests:        0
Total transferred:      39100 bytes
HTML transferred:       32050 bytes
Requests per second:    71.16 [#/sec] (mean)
Time per request:       140.532 [ms] (mean)
Time per request:       14.053 [ms] (mean, across all concurrent requests)
Transfer rate:          54.34 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        6   21  26.4     13     102
Processing:    87  114  50.9    107     460
Waiting:       84  114  51.0    106     459
Total:        100  136  58.2    119     473
Percentage of the requests served within a certain time (ms)
  50%    119
  66%    126
  75%    131
  80%    132
  90%    217
  95%    223
  98%    473
  99%    473
 100%    473 (longest request)

webbench

使用方式和http_load相似,指标较为简单

webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
下载地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
安装非常简单

#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install

会在当前目录生成webbench可执行文件,直接可以使用了

用法:webbench -c 并发数 -t 运行测试时间 URL

例如:

/Users/yxy/data/soft/webbench >webbench -c  10 -t 30 http://192.168.100.152:18800/casefolder-social/question/detail\?shareUID\=40d0c000-09b6-416c-b626-b9ce61399d07
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.100.152:18800/casefolder-social/question/detail?shareUID=40d0c000-09b6-416c-b626-b9ce61399d07
10 clients, running 30 sec.
Speed=3958 pages/min, 51585 bytes/sec.
Requests: 1979 susceed, 0 failed.

http压力测试工具及使用说明的更多相关文章

  1. 网站压力测试工具webbench使用说明

    一.webbench简介        Webbench是有名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发.它的帮助文件和文档请到:ww ...

  2. 压力测试工具segie的使用

    压力测试工具segie的使用 使用文档参考地址:https://www.joedog.org/siege-manual/ siege4地址:http://download.joedog.org/sie ...

  3. webbench(web性能压力测试工具)

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  4. Linux:linux服务器稳定性压力测试工具stress安装与使用

    stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 1. stress1.0.4下载地址 下载:https://fossies.org/l ...

  5. 树莓派压力测试工具S-Tui + Stress的使用

    压力测试工具S-Tui + Stress的使用 树莓派# 背景故事 打算测试一下树莓派外壳的散热性能,需要能压满CPU100%,同时显示温度.CPU频率.CPU占用率,那么这款工具你值得拥有. 软件介 ...

  6. linux压力测试工具stress

    最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...

  7. HTTP压力测试工具

    HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的P ...

  8. 微软压力测试工具 web application stress

    转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba  铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...

  9. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

随机推荐

  1. MQ服务器端和客户端通信浅谈

    MQ服务器端和客户端通信浅谈 1. WebSphere MQ的服务端的安装和配置 (1)创建名为venus.queue.manager的默认队列管理器. 在DOS窗口命令提示符下,输入以下命令: cr ...

  2. powerdesign进军(一)--安装破解

    目录 资源下载地址 安装powerdesign 破解powerdesign 汉化 总结 IT行业不管是web开发还是客户端开发都需要数据库,因为现在是数据时代能够拥有强大的数据就是行业的王者.目前一些 ...

  3. 号外!号外!呼叫所有.NET桌面和移动开发人员!

    8月7日微软在官方博客发起了一次关于.NET桌面和移动开发的调查问卷,直到今天看博客才知道.这次调查的重点是关于.NET桌面开发技术的跨平台,于是我喜大普奔,奔走相告,希望有这方面需求的朋友们都能去参 ...

  4. 转载:hive分区(partiton)简介

    网上有篇关于hive的partition的使用讲解的比较好,所以转载了.原文https://blog.csdn.net/akon_vm/article/details/37832511 一.背景 1. ...

  5. Python获取系统交互式shell,跨平台

    本文地址:https://www.cnblogs.com/M4K0/p/9044237.html 昨天搞了半天,终于把这两个环节打通了.后续可以进一步调用adb命令执行一些操作,细节说明已在代码中添加 ...

  6. 深入Java源码剖析之字符串常量

    字符串在Java生产开发中的使用频率是非常高的,可见,字符串对于我们而言非常关键.那么从C语言过来的同学会发现,在C中是没有String类型的,那么C语言要想实现字符串就必须使用char数组,通过一个 ...

  7. (四十八)c#Winform自定义控件-下拉按钮

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  8. Selenium3 + Python3自动化测试系列六——等待方式

    等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操 ...

  9. Codeforces 1008C

    题意略. 思路: 其实我们没有必要关注每个数字的位置,我们只要把大的数字放在小的数字上就可以了,这样它的位置必然会发生变换. 在变换时,这个替换的序列越长越好,每个序列对答案的贡献就是该序列的长度 - ...

  10. ASP.NET Core实现对象自动映射-AgileMapper

    我们为什么要在对象之间做映射 处于耦合性或者安全性考虑或者性能考虑我们不希望将Model模型传递给他们,我们会在项目中创建一些DTO(Data transfer object数据传输对象),进行数据的 ...