http压力测试工具及使用说明
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压力测试工具及使用说明的更多相关文章
- 网站压力测试工具webbench使用说明
一.webbench简介 Webbench是有名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发.它的帮助文件和文档请到:ww ...
- 压力测试工具segie的使用
压力测试工具segie的使用 使用文档参考地址:https://www.joedog.org/siege-manual/ siege4地址:http://download.joedog.org/sie ...
- webbench(web性能压力测试工具)
在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...
- Linux:linux服务器稳定性压力测试工具stress安装与使用
stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 1. stress1.0.4下载地址 下载:https://fossies.org/l ...
- 树莓派压力测试工具S-Tui + Stress的使用
压力测试工具S-Tui + Stress的使用 树莓派# 背景故事 打算测试一下树莓派外壳的散热性能,需要能压满CPU100%,同时显示温度.CPU频率.CPU占用率,那么这款工具你值得拥有. 软件介 ...
- linux压力测试工具stress
最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...
- HTTP压力测试工具
HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的P ...
- 微软压力测试工具 web application stress
转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
随机推荐
- AVL树(查找、插入、删除)——C语言
AVL树 平衡二叉查找树(Self-balancing binary search tree)又被称为AVL树(AVL树是根据它的发明者G. M. Adelson-Velskii和E. M. Land ...
- 【KakaJSON手册】02_JSON转Model_02_数据类型
由于JSON格式的能表达的数据类型是比较有限的,所以服务器返回的JSON数据有时无法自动转换成客户端想要的数据类型. 比如服务器返回的时间可能是个毫秒数1565480696,但客户端想要的是Date类 ...
- java NIO知多少
背景 Linux系统中的IO操作内部相当复杂,下面是一张带图片的LinuxIO相关层级关系: 下面是一个简化版本Linux内部IO层级图: 对此我的理解,java程序员版本的IO理解: java中的I ...
- Java后台解决跨域问题
首先说一下什么是跨域? JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.c ...
- .net core 单元测试之 JustMock第一篇
前面介绍了单元测试的框架NUnit,它可以很好的帮助我们建立测试,检验我们的代码是否正确.但这还不够,有时候我们的业务比较重,会依赖其它的类.基于隔离测试的原则,我们不希望依赖的其它类影响到我们的测试 ...
- 6090A一种手指笔
发明名称--一种手指笔 申请号 CN201821972396.6 申请日 2018.11.28 公开(公告)号 CN209224777U 公开(公告)日 2019.08.09 IPC分 ...
- from 表单用 GET 方法进行 URL 传值时后台无法获取问题
问题描述 <a href="${pageContext.request.contextPath}/client?method=add">点我</a> < ...
- Leetcode之二分法专题-287. 寻找重复数(Find the Duplicate Number)
Leetcode之二分法专题-287. 寻找重复数(Find the Duplicate Number) 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 ...
- C# Memcache集群原理、客户端配置详细解析
概述 memcache是一套开放源的分布式高速缓存系统.由服务端和客户端组成,以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作.memcache主要把数据对象缓存到内存中, ...
- Oracle - Tables
创建表 a: Sql语句创建 -- Create table create table Table_Name ( 字段1 VARCHAR2(50), 字段2 VARCHAR2(50) not null ...