性能测试工具--SIEGE安装及使用简介
概述
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安装及使用简介的更多相关文章
- 性能测试工具--SIEGE安装及使用简介 siege压力测试
官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...
- 性能测试工具 wrk 安装与使用
介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...
- 云存储性能测试工具--COSBench安装
COSBench安装 Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 1 环境 1.1 操作系统 COSBench可 ...
- 002_性能测试工具wrk安装与使用
介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...
- HTTP性能测试工具wrk安装及使用
wrk 是一个很简单的 http 性能测试工具,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于HTTP性能测试工具,但是比 ab 功能更加强大,并且可以支持l ...
- Mysql多线程性能测试工具sysbench 安装、使用和测试
From:http://www.cnblogs.com/zhoujinyi/archive/2013/04/19/3029134.html 摘要: sysbench是一个开源的.模块化的.跨 ...
- RGW/SWIFT对象存储性能测试工具--COSBench安装
Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 https://github.com/intel-cloud/cos ...
- Locust性能测试工具的安装及实际应用
一.安装Locust 安装Locust之前先安装的库:gevent库:第三方库,gevent为python提供了比较完善的协程支持.使用gevent,可以获得极高的并发性能. pip install ...
- Python3中性能测试工具Locust安装使用
Locust安装使用: 安装: python3中 ---> pip3 install locust 验证是否安装成功---> 终端中输入 locust --help ...
随机推荐
- 【转】linux 原子整数操作详解
原文网址:http://blog.csdn.net/hunanchenxingyu/article/details/8994379 printk(“%d\n”,atomic_read(&v)) ...
- 调侃Cookie
近期看着某些小朋友那琢急的学习心态,瞬间发文一篇,谨此以助小朋友早日有成! 闲话不扯远,实话见真言,晃悠许久觉得开头还是谈谈Cookie这只菜篮,而且是一只私家菜篮,为啥说它是一只菜篮呢,各位看官必定 ...
- perl中执行linux命令,及其区别
1. system("date '+%Y-%m-%d %H:%M:%S'") 该命令返回的是-1.(应该是date命令的main函数的返回值) 2. `date '+%Y-%m-% ...
- call-template和apply-templates
对xml模板 来说,name属性是很关键的 call-template /apply-template 的name必须要和模板的name相对应.模板相当于一个函数,可以暂时这么看.而name相当于函数 ...
- Java多线程编程(二)
在 Java多线程编程(一) 中的多线程并没有返回值,本文将介绍带返回值的多线程. 要想有返回值,则需要实现新的接口Callable而不再是Runnable接口,实现的方法也改为call()方法,执行 ...
- ffmpeg错误隐藏框架分析
本文主要是分析ffmpeg的错误隐藏框架,故解码流程此处不会特地进行讨论,网上其他地方其实也有不少介绍相关流程的了,但发现基本没有介绍错误隐藏流程的,故本文希望能填补这个空白. 我们直接从decode ...
- Android 仿Win8的metro的UI界面(上)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23441455 昨晚没事手机下载了一些APP,发现现在仿win8的主界面越来越多, ...
- 双向链表JAVA代码
//双向链表类 publicclassDoubleLinkList{ //结点类 publicclassNode{ publicObject data; ...
- iscc2016 pwn部分writeup
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...
- 配置HP LaserJet M1536dnf MFP打印机通过TCPIP共享多台计算机
HP LaserJet M1536dnf MFP打印机通过TCPIP共享多台计算机配置配置过程:1.确保网线插入到打印机后,点设置按钮,到网络配置中查看IP地址,确保与主机或者路由器的IP地址一致,设 ...