压测工具siege和wrk

siege压测工具

安装:

wget http://download.joedog.org/siege/siege-3.0.8.tar.gz

cd siege-3.0.8

./configure

make

make install

验证安装结果:输入siege -V 如果输出了版本号就代表安装没问题

Siege命令常用参数

-c 200 指定并发数200
-r 5 指定测试的次数5
-f urls.txt 制定url的文件
-i internet系统,随机发送url
-b 请求无需等待 delay=0
-t 5 持续测试5分钟

测试指标说明:

Transactions: 4 hits 完成4次处理 
Availability: 100.00 % 成功率 
Elapsed time: 1.19 secs 总共用时
Data transferred: 0.03MB 共数据传输:0.03MB
Response time: 0.13 secs 相应用时0.13秒,显示网络连接的速度
Transaction rate: 3.36 trans/sec平均每秒完成3.36次处理,表示服务器后台处理的速度
Throughput: 0.03MB/sec 平均每秒传送数据:0.03MB
Concurrency: 0.45 最高并发数 0.45
Successful transactions: 4成功处理次数
Failed transactions: 0 失败处理次数
Longest  transaction:0.25请求最长响应时间/每次传输所花最长时间
Shortest  transaction:0.09请求最短响应时间/每次传输所花最短时间

测试背景 服务器32U apache部署的django服务

siege -c32 -t10s -v -b 127.0.0.1::8000

HTTP/1.1 200 0.89 secs: 1 bytes ==> GET /test/
[error] socket: -222533888 address is unavailable.: Cannot assign requested address

Transactions: 29390 hits
Availability: 96.59 %
Elapsed time: 4.68 secs
Data transferred: 0.03 MB
Response time: 0.00 secs
Transaction rate: 6279.91 trans/sec
Throughput: 0.01 MB/sec
Concurrency: 14.81
Successful transactions: 29390
Failed transactions: 1039
Longest transaction: 0.89
Shortest transaction: 0.00

我们看会出现error,而且并发数也少的可怜为啥呢?因为siege不能建立长连接,顾名思义就是每发一次tcp请求就会close掉,不能连续发1000个在close,这样服务器会down掉

我们现在用wrk来试试

git clone https://github.com/wg/wrk.git  

cd wrk  

make  

参数说明:

-c,——连接:保持打开的HTTP连接的总数每个线程处理N =连接/线程

-d,——持续时间:试验持续时间,如2s, 2m, 2h

-t,——线程:要使用的线程总数脚本:LuaJIT脚本,参见脚本

header:添加到请求中的HTTP头文件,例如:“用户代理:wrk”

——latency:打印详细的延迟统计信息

——timeout:如果内部没有接收到响应,则记录一个超时这段时间。

./wrk -t30 -c1000 -d30s 127.0.0.1:8000

压测结果

Running 30s test @ 127.0.0.1:8000
30 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 49.08ms 125.03ms 1.94s 91.46%
Req/Sec 764.47 495.39 8.32k 70.24%
666327 requests in 30.10s, 174.87MB read
Socket errors: connect 0, read 88, write 0, timeout 119
Requests/sec: 22137.51
Transfer/sec: 5.81MB

由此可见并发数为两万多,因为wrk他是支持长连接的。

原文地址:https://www.cnblogs.com/sunzhiqi/p/12187512.html

时间: 2024-07-30 13:37:00

压测工具siege和wrk的相关文章

web服务器压测工具siege、ab

web服务器压测工具也挺多,这里只介绍我用过的这两种--siege(for linux).ab(for windows). 一.siege 1.简介: Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行.siege可以从您选择的预置列表中请求随机的URL.所以siege可用于仿真用户请求负载,而ab则不能.但不要使用siege来执行最高性能基准调校测试

Mac压测工具(Siege)记录.md

微信活动推广,时常瞬时并发特别高,比如一个百万粉丝的公众号,后台推送一个H5的活动,我们公司的应用在短时间内基本处于不可用的状态,如何保证高并发下的高可用呢? Mac下安装Siege,作为开发人员可进行简单的模拟高并发,确保服务的可用性,目前容器有Tomcat和IIS,需要分别优化. 一.修改Mac文件描述符限制 在压测开始前,需要确保open files足够大,否则会报Too many open files错误,可以通过ulimit -a查看,默认是256. 使用ulimit -n 10000

Http压测工具wrk使用指南

用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持LuaJIT和OpenSSL,不过不用担心,大多数类Unix系统都支持.安装wrk非常简单,只要从github上下载wrk源码,在项目路径下执行make命令即可. git clone https://github.com/wg/wrk make make之后,会在项目路径下生成可执行文件wrk,随后

几款常用压测工具使用小结

ab ab是apache自带的压力测试工具,使用起来非常方便. 安装 如果安装了apache, 那么ab已经安装好了,如果不想安装apache的话,可以通过以下方式安装ab # ubuntu sudo apt-get install apache2-utils # centos yum -y install httpd-tools 压测 在压测前,需要关注几个选项,通过 ab -help 查看 Options are: -n requests 要执行的请求次数 -c concurrency 并发

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

ab(http)与abs(https)压测工具 来源 https://www.cnblogs.com/weizhxa/p/8427708.html 在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数.某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率.计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per s

[软件测试]网站压测工具Webbench源码分析

一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench使用C语言编写,下面是其下载链接: http://home.tiscali.cz/~cz210552/webbench.html 说到这里,我赶脚非常有必要给这个网站局部一个截图,如下图: 第一次看到这张图片,着实吃了一精!居然是2004年最后一次更新,我和我的小伙伴们都惊呆了.不过既然现在大家还都

swingbench-免费的oracle性能压测工具

SwingBench介绍: SwingBench由负载生成器,协调器和集群概述组成.该软件使得能够生成负载并且将图表的事务/响应时间映射. SwingBench可用于演示和测试诸如实际应用集群,在线表重建,备用数据库,在线备份和恢复等技术 SwingBench附带的代码包括6个基准,OrderEntry,SalesHistory,TPC-DS Like,JSON,CallingCircle和StressTest .. OrderEntry基于Oracle11g / Oracle12c附带的"oe

使用压测工具ab实现搭建的页面压测

使用压测工具(ab/webbench等)实现搭建的页面压测,要求通过调整apache的工作模式来对比最后性能. 配置文件位置:/etc/httpd/conf/httpd.conf <IfModule prefork.c>  //如果加载了这个模块,就实现一下配置,一个条件化模块加载 StartServers        8  //服务在启动时默认启动几个子进程 MinSpareServers    5  //最小空闲进程数量 MaxSpareServers    20  //最大空闲进程数量

一个简单的websocket压测工具tcpkail

简介 tcpkali是一个高性能的负载生成工具,用于TCP和WebSocket服务器.采用C/C++开发并在BSD协议下授权,是一个开源的web压测工具,类似于apache的ab,但tcpkail同时支持websocket和httpd协议. 关于tcpkail的一些特性 高效的 CPU 利用率,可使用所有 CPU 核 允许同时打开大量的并发链接 (--connections) 允许限制单个连接的吞吐量 (--channel-bandwidth or --message-rate) 允许指定首页消