官方网站http://www.joedog.org/

概述

Siege是一个多线程http负载测试和基准测试工具。它有3种操作模式: 
1) Regression (when invoked by bombardment)Siege从配置文件中读取URLs,按递归方式,
逐个发送请求 
2) Internet simulation (Siege从配置文件中读取URLs,随机选取URL发送请求) 3) Brute force (在命令行上写上一个单独的URL,发送请求)

安装

我这里使用的是最新版的。
$ wget http://www.joedog.org/pub/siege/siege-latest.tar.gz

得到最新包siege-latest.tar.gz

解压之。

$ tar xvf siege-latest.tar.gz

得到的具体版本就是siege-3.0.6

$ cd siege-3.0.6/

编译的时候,我只制定了安装目录:/usr/local/siege/

$ ./configure --prefix=/usr/local/siege/

$ make 
$ make install

安装完成后,查看一下安装目录下具体都有哪些目录:

$ ll /usr/local/siege/

结果如下:

drwxr-xr-x 2 root root 4096 Jun 11 15:48 bin
drwxr-xr-x 2 root root 4096 Jun 11 15:48 etc
drwxr-xr-x 5 root root 4096 Jun 11 15:48 man

然后使用/usr/local/siege/bin/siege -help来查看是否真的安装成功了:

$ siege/bin/siege –help

如果看到如下信息,则说明安装成功了:

** SIEGE 3.0.6
** Preparing 15 concurrent users for battle.
The server is now under siege...
done.
siege aborted due to excessive socket failure; you
can change the failure threshold in $HOME/.siegerc

Transactions:                      0 hits
Availability:                   0.00 %
Elapsed time:                  36.31 secs
Data transferred:               0.00 MB
Response time:                  0.00 secs
Transaction rate:               0.00 trans/sec
Throughput:                     0.00 MB/sec
Concurrency:                    0.00
Successful transactions:           0
Failed transactions:            1038
Longest transaction:            0.00
Shortest transaction:           0.00

调用 
 
Siege以命令行方式使用,调用格式如下:  siege [options] 
 siege [options] [url]  siege -g [url]  
Siege的选项说明: -V  ,  --version 
打印siege的版本信息

-h  ,  --help 打印帮助信息  
-C  ,  --config 
打印当前配置。这个选项读取 .siegerc 并打印。你可以通过编辑$HOME/.siegerc修改配置。如果没有这个文件,你可以运行siege.config(/usr/local/bin/siege.config )来生成此文件。  
 -v  ,  --verbose  
打印详细信息。包含请求的协议、响应码、请求的URL  
 -g URL  ,  --get URL  
获得一个HTTP事务。导出headers和显示HTTP交易。对于debug有所帮助。  
-c NUM  ,  --concurrent=NUM  并发用户数(必需参数)。  
-i  ,  --internet  
此选项配合URLs的配置文件使用。每个虚拟用户每次请求的URL是随机从配置文件的获取。  
-t NUMm  ,  --time=NUMm  
设置测试运行的时间。单位S\M\H代表秒\分\时。单位大小写不敏感。数字和单位之间不要有空格。  
-f FILE  ,  --file=FILE  
被测试的URLs配置文件。默认$SIEGE_HOME/etc/urls.txt  
 - l  ,  --log  
记录统计信息到$SIEGE_HOME/var/siege.log  
- m MESSAGE  ,  --mark=MESSAGE 
此选项允许你使用分隔符标记日志文件。没必要与'-l'同时使用。  
-d NUM  ,  --delay=NUM  
Time DELAY, random delay before each requst between 1 and NUM. (NOT COUNTED IN STATS)  
-b  ,  --benchmark 
BENCHMARK,  runs  the  test  with  NO  DELAY  for throughput benchmarking. 负载测试时不推荐使用。  
-H HEADER ,  --header=HEADER 
HEADER, 该选项允许你添加额外的头信息。   
R SIEGERC ,  --rc=SIEGERC 
设置运行参数配置文件。 默认 $HOME/.siegerc  
-A "User Agent" , --user-agent="User Agent" AGENT, 定制客户端信息。

当一次测试中需要多个URL时,可以将URLs放到一个单独的文件中。默认$SIEGE_HOME/etc/urls.txt

例如:urls.txt 
# 这里表述注释,一行一个URL

http://homer.whoohoo.com/index.html

http://homer.whoohoo.com/howto.jsp

http://go.whoohoo.com/cgi-bin/q.cgi?scope=a

http://go.whoohoo.com/cgi-bin/q.cgi POST scope=a

http://homer.whoohoo.com/my.jsp POST a=1&b=2

# POST文件 
www.haha.com/aha.jsp POST </home/jeff/my.txt

www.haha.com/parser.jsp POST <./my.txt  
Siege一次性将文件读入内存,按照文件中顺序发送请求。[-i]选项可以随机发送URL请求。

在文件中,我们可以设置和引用变量。先定义后引用原则。一个变量一行,类似于shell变量,引用时用$()或者${},如  HOST = homer.whoohoo.com  http://${HOST}/index.html 
如果变量不存在,则表示空字符串。

使用

  siege的具体使用方法很简单,通常使用时用的比较多的就是并发用户数和运行时间

$ siege/bin/siege –c 10 –t 60s  http://host/xxx
-c 并发用户数
-t  运行时间
 这里的URL有两种用法,当测试单个地址的时候,直接写就可以,如要测试http://www.cnblogs.com/lrxing/p/3626256.html
$ siege/bin/siege –c 10 –t 60s  http://www.cnblogs.com/lrxing/p/3626256.html

性能测试工具--SIEGE安装及使用简介 siege压力测试的更多相关文章

  1. APP性能测试工具GT的使用总结:app内存测试

    APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...

  2. 使用Visual Studio Team Services进行压力和性能测试(一)——创建基础的URL压力测试

    使用Visual Studio Team Services进行压力和性能测试(一)--创建基础的URL压力测试 概述 压力测试使应用程序更加健壮,并审核在用户负载下的行为,这样我们可以在当前的基础设施 ...

  3. 性能测试工具--SIEGE安装及使用简介

    官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...

  4. 性能测试工具 wrk 安装与使用

    介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...

  5. 云存储性能测试工具--COSBench安装

    COSBench安装 Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 1 环境 1.1 操作系统 COSBench可 ...

  6. 002_性能测试工具wrk安装与使用

    介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...

  7. HTTP性能测试工具wrk安装及使用

    wrk 是一个很简单的 http 性能测试工具,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于HTTP性能测试工具,但是比 ab 功能更加强大,并且可以支持l ...

  8. Mysql多线程性能测试工具sysbench 安装、使用和测试

    From:http://www.cnblogs.com/zhoujinyi/archive/2013/04/19/3029134.html 摘要:      sysbench是一个开源的.模块化的.跨 ...

  9. Windows如何使用Apache的ab工具进行网站性能测试(Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便)

    打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序.注意 ...

随机推荐

  1. SpringCloud Gateway入门

    本文是介绍一下SpringCloud Gateway简单路由转发使用. SpringCloud Gateway简介 SpringCloud是基于Spring Framework 5,Project R ...

  2. Alpha(2/10)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  3. vue注册和简单使用

      组件的出现就是为了解决页面布局等等一些列的问题. vue中的组件分为两种,全局组件和局部组件. 一  . 注册全局组件 通过Vue.component()创建一个全局组件之后,我们可以在一个通过  ...

  4. Django之auth组件

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...

  5. Codeforces.97D.Robot in Basement(bitset 模拟)

    题目链接 (ozr attack) 考虑怎么暴力,就是先在所有非障碍格子上全放上机器人,然后枚举每一步,枚举每个机器人移动这一步,直到所有机器人都在出口位置.复杂度是\(O(nmk)\)的. 怎么优化 ...

  6. JavaScript基础笔记(八)DOM扩展

    DOM扩展 一.选择符API Selectors API是由W3C发起制定的一个标准,致力于让浏览器原生支持CSS查询. 一)querySelector() 在Document和Element类型实例 ...

  7. 记事本编辑的Java文件生成文档

    用记事本写的Java源文件生成注释文 1)在命令行(事先调到相关的位置)中输入 -------javadoc -d doc Hello.java--------- 在这里Hello.java是Java ...

  8. JS膏集03

    JS膏集03 1.复习 原型: * 在构造函数中有一个属性:prototype,是原型,也是一个对象,程序员使用的 * 在实例对象中有一个属性:__proto__,是原型,也是一个对象,浏览器使用的, ...

  9. JSP(6)—JavaBean及案例

    基础: 一.JavaBean ①用作JavaBean的类必须是具有一个公共的无参数的构造方法 ②JavaBean的属性是以方法定义的形式出现的. ③JavaBean的属性名是根据Setter和gett ...

  10. 20、collections模块和re模块(正则表达式详解)

    从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...