性能测试工具--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 ...
随机推荐
- Silverlight 模板(Template)使用
模板(Template)是控件另一种样式 它和样式(style)不同的是它允许已有的控件进行组合新的一个控件样式 那么先看一下最简单Template代码 xaml代码 <Button Conte ...
- HDU_1401——同步双向BFS,八进制位运算压缩,map存放hash
这个速度比分步快一点,内存占的稍微多一点 Problem Description Solitaire is a game played on a chessboard 8x8. The rows an ...
- String源码
/* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- Mvc中DropDownList 和DropDownListFor的常用方法
Mvc中DropDownList 和DropDownListFor的常用方法 一.非强类型: Controller:ViewData["AreId"] = from a in rp ...
- python成长笔记
正则表达式 1. 择一匹配:管道符号(|),表示“从多个模式中选择其一”.例:at|home à at.home 2. 点号匹配除了换行符以外的任何字符 3. 边界匹配:\b匹配一个 ...
- Java并发编程:ThreadLocal
Java并发编程:深入剖析ThreadLocal Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用 ...
- ganglia单播配置
背景: 有时,由于当前网络不支持组播等种种原因,使用gmond默认的配置gmetad不能获取到各个客户端的全部数据,http://x.x.x.x/ganglia页面一个cluster组只能展示一 ...
- 第一章 工欲善其事 必先利其器—Android SDK工具(3)
1.3没有真机一样开发--Android模拟器 有些时候,我们手头上可能并没有符合要求的Android设备.那么这时候我们是不是对调试或者开发就一筹莫展了呢?当然不是.由于我们有Android模拟器. ...
- easyui 给文本框 checkbox赋值问题
刚进公司 要做一个后台维护系统,选择easyui 从未接触过 对于页面给文本框赋值遇到一些问题 写下了来 我之前使用了好几种方式都未能成功给input 文本框赋值 第一尝试传统的JavaScript代 ...
- Android(java)学习笔记252:ContentProvider使用之内容观察者01
1. 内容观察者 不属于四大组件,只是内容提供者ContentProvider对应的小功能. 如果发现数据库内容变化了,就会立刻观察到. 下面是逻辑图: 当A应用中银行内部的数据发生变化的 ...