性能测试工具--SIEGE安装及使用简介 siege压力测试

摘要:
$ wgethttp://www.joedog.org/pub/siege/siege-latest.tar.gz获取最新的包裹围攻。焦油gz并解压。此选项读取Siegerc并打印。导出标头并显示HTTP事务。它有助于调试-i-internet。此选项与URL的配置文件一起使用。单位SMH表示秒、分钟和小时-file,--file=要测试的file URL配置文件。默认$SIEGE_ HOME/etc/urls。txt-l,--log将统计数据记录到$SIEGE_HOME/var/ceight。Log mMESSAGE,--mark=MESSAGE此选项允许您使用分隔符标记日志文件。RSIEGERC,--rc=SIEGERC设置操作参数配置文件。当测试中需要多个URL时,可以将URL放在单独的文件中。默认$SIEGE_ HOME/etc/urls。txt,例如:urls。txt#注释在此处表示,每行一个URLhttp://homer.whoohoo.com/index.htmlhttp://homer.whoohoo.com/howto.jsphttp://go.whoohoo.com/cgi-箱/q。cgi?范围=ahttp://go.whoohoo.com/cgi-bin/q.cgiPOSTscope=ahttp://homer.whoohoo.com/my.jspPOSTa=1&b=2#POST文件www.haha。哈哈哈。jspPOST˂/home/jeff/my.txtwww。哈哈。com/parser。jspPOST˂./my。txtSiege一次将文件读入内存,并按文件顺序发送请求。

官方网站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  
设置测试运行的时间。单位SMH代表秒分时。单位大小写不敏感。数字和单位之间不要有空格。  
-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压力测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PC-JS小技巧ubuntu 后台运行的几种方法!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ueditor 关于视频上传相关问题

  !!!每次改动后记得,清除一下浏览器缓存再试 !!!   4点: 1.修复编辑时视频不能预览问题; 2.插入视频的时候。在预览的窗口提示 “输入的视频地址有误,请检查后再试!” 3.ueditor 解决上传视频回显 src链接丢失问题 4.ueditor 自定义插入视频封面(页面加载时显示) 1. 修复编辑时视频不能预览问题  在 ueditor.al...

Liferay7开发体系简介

参考:https://www.cnblogs.com/starcrm/p/6022502.html  Liferay SDK 开发体系 主要分6种: Portlet Hook Theme Layout Templates Web Modules Ext Portlet :类似于servlet的web组件,编译后是war包,是页面的组成元素,可以把它...

python连接服务器上传文件,后台执行命令

上传文件 import osimport paramikoimport loggingfrom django.core.cache import cachefrom YunTai import settings def upload_files(connectIp): ssh = paramiko.Transport((connectIp, 22...

su sudo 限制root远程登录

su命令 su用来切换用户。 su -  用户    是完全切换,就是变成另一个用户。 su 用户       是不完全切换,变量还是上一个用户。 注释:完全切换,就是在切换时加载用户的环境变量.bash_history,.bash_logout,.bash_profile 通过-c参数来不切换用户,以这个用户的身份来执行一些命令: [root@ting...

模拟浏览器请求(WebRequest)

原文地址:https://www.cnblogs.com/mafei2014/articles/4316375.html  运用场景: 现在假设有两个公司A 和 B,现在A公司想要访问B公司的的数据,而B公司我们不能直接的就把数据库暴露给A公司,于是B公司给A公司提供的一个请求url,通过这个请求就可以访问到B公司提供给A公司的请求,但是现在问题来了,A公...

kubernetes 1.21部署 kubeprometheus

https://github.com/prometheus-operator/kube-prometheus 1. helm方式 helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm search...