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

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

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

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

 

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

 

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.

转载于:https://www.cnblogs.com/heqiyoujing/p/9432105.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

itchat 道歉_人类的“道歉”

itchat 道歉When cookies were the progeny of “magic cookies”, they were seemingly innocuous packets of e-commerce data that stored a user’s partial transaction state on their computer. It wasn’t disclosed that you were playing a beneficial part in a muc…

使用Kubespray部署生产可用的Kubernetes集群(1.11.2)

Kubernetes的安装部署是难中之难&#xff0c;每个版本安装方式都略有区别。笔者一直想找一种支持多平台 、相对简单 、适用于生产环境 的部署方案。经过一段时间的调研&#xff0c;有如下几种解决方案进入笔者视野&#xff1a; 部署方案优点缺点Kubeadm官方出品部署较麻烦、不够…

android webView 与 JS交互方式

webView 与JS交互 Android调用JS代码的方法有&#xff1a; 通过WebView的loadUrl&#xff08;&#xff09;通过WebView的evaluateJavascript&#xff08;&#xff09; 对于JS调用Android代码的方法有3种&#xff1a; 通过WebView的addJavascriptInterface&#xff08;&…

matlab软件imag函数_「复变函数与积分变换」基本计算代码

使用了Matlab代码&#xff0c;化简平时遇到的计算问题&#xff0c;也可以用于验算结果来自211工科专业2学分复变函数与积分变换课程求复角主值sym(angle(待求复数))%公式 sym(angle(1sqrt(3)*i))%举例代入化简将 代入关于z的函数f(z)中并化解&#xff0c;用于公式法计算无穷远点…

数据科学 python_为什么需要以数据科学家的身份学习Python的7大理由

数据科学 pythonAs a new Data Scientist, you know that your path begins with programming languages you need to learn. Among all languages that you can select from Python is the most popular language for all Data Scientists. In this article, I will cover 7 r…

[luoguP4142]洞穴遇险

https://www.zybuluo.com/ysner/note/1240792 题面 戳我 解析 这种用来拼接的奇形怪状的东西&#xff0c;要不就是轮廓线\(DP\)&#xff0c;要不就是网络流。 为了表示奇数点&#xff08;即\((xy)\%21\)&#xff09;的危险值&#xff0c;把该点拆为两个点&#xff0c;连一条边长…

飞信虚拟机

做完了一个图片处理软件,突然想到上次上网看到C#程序脱离.NET FRAMEWORK运行的文章,于是决定自己动手试一下。 之前看到有用别的方法来实现的&#xff0c;但我还是选择了现在比较流行的软件飞信中带的VMDotNet&#xff0c;也就是所谓的.NET FRAMEWORK虚拟机吧。相信有很多人也已…

django的contenttype表

https://blog.csdn.net/aaronthon/article/details/81714496 这篇文章已经非常详细了,供自己以后忘了...回看...... 总结&#xff1a; 当一张表和多个表FK关联&#xff0c;并且多个FK中只能选择其中一个或其中n个时&#xff0c;可以利用contenttype&#xff0c;固定用三个字段…

视频播放问题和提高性能方案

1.Five symptoms of poor video performance 1.1 视频加载缓慢 ​Perceived Wait Time Time to first frame (TTFF): ​ 播放开始所需的adaptive bitrate(ABR)流媒体段的数量。(我们稍后将对此进行更详细的讨论。) ​ 视频请求发送到视频加载之间的时间(即接收到足够的数据…

rabbitmq 不同的消费者消费同一个队列_RabbitMQ 消费端限流、TTL、死信队列

消费端限流1. 为什么要对消费端限流假设一个场景&#xff0c;首先&#xff0c;我们 Rabbitmq 服务器积压了有上万条未处理的消息&#xff0c;我们随便打开一个消费者客户端&#xff0c;会出现这样情况: 巨量的消息瞬间全部推送过来&#xff0c;但是我们单个客户端无法同时处理这…

动量策略 python_在Python中使用动量通道进行交易

动量策略 pythonMost traders use Bollinger Bands. However, price is not normally distributed. That’s why only 42% of prices will close within one standard deviation. Please go ahead and read this article. However, I have some good news.大多数交易者使用布林…

css3 变换、过渡效果、动画

1 CSS3 选择器 1.1 基本选择器 1.2 层级 空格 > .itemli ~ .item~p 1.3 属性选择器 [attr] [attrvalue] [attr^value] [attr$value] [attr*value] [][][] 1.4 伪类选择器 :link :visited :hover :active :focus :first-child .list li:first-child :last-chi…

webservice 启用代理服务器

您会发现你写完了一个webservice在调用的时候发现怎也没办法调用&#xff0c;一个简单的webservice怎么不能使用&#xff0c;一肚子的怨恨&#xff0c;哈哈您可能没有为webservice设置代理。 下面就给您写个调用的用例和大家分享下。其实很简单&#xff0c;但是你没有想到的时…

mysql常用的存储引擎_Mysql存储引擎

什么是存储引擎&#xff1f;关系数据库表是用于存储和组织信息的数据结构&#xff0c;可以将表理解为由行和列组成的表格&#xff0c;类似于Excel的电子表格的形式。有的表简单&#xff0c;有的表复杂&#xff0c;有的表根本不用来存储任何长期的数据&#xff0c;有的表读取时非…

android studio设计模式和文本模式切换

转载于:https://www.cnblogs.com/judes/p/9437104.html

高斯模糊为什么叫高斯滤波_为什么高斯是所有发行之王?

高斯模糊为什么叫高斯滤波高斯分布及其主要特征&#xff1a; (Gaussian Distribution and its key characteristics:) Gaussian distribution is a continuous probability distribution with symmetrical sides around its center. 高斯分布是连续概率分布&#xff0c;其中心周…

C# webbrowser 代理

百度&#xff0c;google加自己理解后&#xff0c;将所得方法总结一下&#xff1a; 方法1&#xff1a;修改注册表Software//Microsoft//Windows//CurrentVersion//Internet Settings下 ProxyEnable和ProxyServer。这种方法适用于局域网用户&#xff0c;拨号用户无效。 1p…

C MySQL读写分离连接串_Mysql读写分离

一 什么是读写分离MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询&#xff0c;而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。当然&#xff0c;主服务器也可以提供…

golang 编写的在线redis 内存分析工具 rma4go

redis 内存分析工具 rma4go redis是一个很有名的内存型数据库&#xff0c;这里不做详细介绍。而rma4go (redis memory analyzer for golang) 是一个redis的内存分析工具&#xff0c;这个工具的主要作用是针对运行时期的redis进行内存的分析&#xff0c;统计redis中key的分布情…

从Jupyter Notebook到脚本

16 Aug: My second article: From Scripts To Prediction API8月16日&#xff1a;我的第二篇文章&#xff1a; 从脚本到预测API As advanced beginners, we know quite a lot: EDA, ML concepts, model architectures etc…… We can write a big Jupyter Notebook, click “Re…