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他是支持长连接的。

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

  1. web服务器压测工具siege、ab

    web服务器压测工具也挺多,这里只介绍我用过的这两种--siege(for linux).ab(for windows). 一.siege 1.简介: Siege是一款开源的压力测试工具,设计用于评估 ...

  2. 压测工具Siege

    一.下载 http://www.joedog.org/ http://www.joedog.org/pub/siege/siege-2.70.tar.gz 二.测试 siege -c200 -r10 ...

  3. 精准容量、秒级弹性,压测工具 + SAE 方案如何完美突破传统大促难关?

    作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文 ...

  4. Http压测工具wrk使用指南

    用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...

  5. Http压测工具wrk使用指南【转】

    用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...

  6. Http 压测工具 wrk 基本使用

    Http 压测工具 wrk 基本使用 Intro wrk 是一款现代HTTP基准测试工具,能够在单个多核CPU上运行时产生显着负载.它将多线程设计与可扩展事件通知系统(如epoll和kqueue)结合 ...

  7. wrk压测工具使用

    介绍分为四部分 1.wrk简述 2.wrk安装 3.wrk运行参数 4.wrk高级用法 1.wrk简述 当使用ab做压测的时候发现,ab的客户端消耗很大,而且测试时性能较差,测试redis,sprin ...

  8. 4. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识wrk、wrk2

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  9. 常用的HTTP服务压测工具介绍

    常用的HTTP服务压测工具介绍 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量.排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资 ...

随机推荐

  1. 三 基于Java动态数组手写队列

    手写队列: package dataStucture2.stackandqueue; import com.lt.datastructure.MaxHeap.Queue; import dataStu ...

  2. D. Restore Permutation 树状数组+二分

    D. Restore Permutation 题意:给定n个数a[i],a[ i ]表示在[b[1],b[i-1]]这些数中比 b[i]小的数的和,要你构造这样的b[i]序列 题解:利用树状数组 求比 ...

  3. jqGrid 复选框实现单选

    参考:https://blog.csdn.net/java0311/article/details/45575517

  4. python的线性代数

    估计线性模型中的系数:a=np.linalg.lstsq(x,b),有b=a*x 求方阵的逆矩阵np.linalg.inv(A) 求广义逆矩阵:np.linalg.pinv(A) 求矩阵的行列式:np ...

  5. 启动kafka报错

    启动kafka时 报错: kafka-console-consumer.sh --from-beginning --zookeeper node01:8121,node02:8121,node03:8 ...

  6. 网络流的最大流入门(从普通算法到dinic优化)

    网络流(network-flows)是一种类比水流的解决问题方法,与线性规划密切相关.网络流的理论和应用在不断发展.而我们今天要讲的就是网络流里的一种常见问题--最大流问题. 最大流问题(maximu ...

  7. Python format语法

    a = {"name" : "alex","age":16} v = "my name is {name}, my age is ...

  8. jumpserver手动配置文档

    1.环境  centos7.6   硬盘 200G  cpu  8核心  内存 32G (本地测试的时候,有报错,原因为虚拟机配置不够,此时为在pve虚拟化上面做的linux系统) 2.https:/ ...

  9. (译)Calculus on Computational Graphs: Backpropagation

    Posted on August 31, 2015 Introduction Backpropagation is the key algorithm that makes training deep ...

  10. Emergency

    题意:有N个点,M条边,每个点有权值,问从起点到终点最短路的个数以及权值最大的最短路的权值. 分析:修改Dijstra模板. #include<bits/stdc++.h> using n ...