性能测试--siege
siege
这是Linux系统下的一个测试工具,完全使用C语言实现,可以对HTTP和FTP服务器进行负载和性能测试。通过使用Siege 提供的功能,可以很容易的制定测试计划:包括规定使用并发用户数、重复数量,从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能。最后,利用Siege提供的测试结果来分析性能指标或者分析他们提供的服务在不同负载条件下的性能情况,分析测试结果,找出影响系统性能的瓶颈。
一、安装下载
在linux服务器上操作
1、下载最新版本的siege
wget http://download.joedog.org/siege/siege-latest.tar.gz
2、解压并进入siege路径
tar -zxvf siege-latest.tar.gz
cd siege-*/
3、编译安装
./configure
make
sudo make install
4、验证安装是否成功
siege -h
二、输入输出参数说明
1、输入参数:

2、输出参数:
siege示例,使用siege对ur.tencent.com进行加压(模拟20个用户同时访问,一共跑3个循环)
siege -c 20 -r 3 http://ur.tencent.com
测试结果:

输出参数解释说明:
- Transactions: siege对服务器的访问次数。如果页面发生了redirect,那么siege会将跳转过的请求算成是另一个transaction
- Availability: socket连接的成功率。算法是,如果页面发生了timeout,4xx,5xx,那么该请求算是失败请求,成功率就等于
(所有请求-失败请求) / 总请求数 - Elapsed time: 所有请求耗费的时间
- Data transferred: 所有请求传输的数据量,包括请求的headers和content。所以这个数值可能比server端统计的数值要大一点
- Response time: 平均响应时间
- Transaction rate:
Transactions / Elapsed time - Throughput: 每秒平均传输的数据量
- Concurrency: 平均并发的请求数
- Successful transactions: 所有status code < 400的transactions数量
- Failed transactions: 所有status code >= 400的transactions数量
- Longest transaction: 最耗时的请求时间
- Shortest transaction: 最短单个请求时间
三、siege示例:
http://ur.tencent.com/categories/7
http://ur.tencent.com/categories/7/?page=2
http://ur.tencent.com/categories/7/?page=3
urls.txt
urls.txt文本中保存了多个页面url
1、使用siege对urls.txt进行加压,并发数是5,持续运行1分钟
siege -c 5 -t 1M -f urls.txt
2、对多个页面加压后,保存siege日志
siege -c 5 -t 1M -f urls.txt --log=result.csv #urls.txt、result.csv两个文件名可带路径
注:
- 可以使用命令
sz result.csv将结果文件拷贝到本地(没有sz命令Ubuntu使用:centOS用yum -y install lrzsz安装既可) - 也可以用Xshell 5中的sftp工具:get result.csv 下载文件到Xshell 本地Sessions文件夹中
3、压测时候启用gzip压缩
gzip压缩就是指服务器在返回请求时候先将请求压缩一下,以减少response的体积,客户端收到response之后会自行解压,这是提升传输速度的一般做法。在请求头中加入Accept-Encoding:gzip就可以告诉服务器返回压缩后的response
siege -c 5 -t 1M -f urls.txt -H "Accept-Encoding:gzip" --log=result_gip.csv
4、模拟移动站点(移动端:Android、iOS)访问进行压测
需要发送相应的user-agent,服务器就会根据这个值判断浏览器是移动版还是桌面版,在这里用iphone的user-agent模拟iPhone5对百度站点进行访问。(iphone的user-agent、chrome的user-agent、安卓ios主流浏览器User-Agent汇总)
siege -c1 -r1 -A"Apple-iPhone5C2/1001.525" http://www.baidu.com
siege -c1 -r1 -A"Apple-iPhone5C2/1001.525" http://www.baidu.com
[alert] Zip encoding disabled; siege requires zlib support to enable it
** SIEGE 4.0.4
** Preparing 1 concurrent users for battle.
The server is now under siege...
HTTP/1.1 200 0.09 secs: 2925 bytes ==> GET /
HTTP/1.1 200 0.07 secs: 2340 bytes ==> GET /static/index/u.png Transactions: 2 hits
Availability: 100.00 %
Elapsed time: 0.16 secs
Data transferred: 0.01 MB
Response time: 0.08 secs
Transaction rate: 12.50 trans/sec
Throughput: 0.03 MB/sec
Concurrency: 1.00
Successful transactions: 2
Failed transactions: 0
Longest transaction: 0.09
Shortest transaction: 0.07
移动版输出结果
桌面版:
siege -c1 -r1 http://www.baidu.com
** SIEGE 4.0.4
** Preparing 1 concurrent users for battle.
The server is now under siege...
HTTP/1.1 200 0.14 secs: 112430 bytes ==> GET /
HTTP/1.1 200 0.06 secs: 2947 bytes ==> GET /baidu.html?from=noscript
HTTP/1.1 200 0.05 secs: 91 bytes ==> GET /img/gs.gif
[error] HTTPS requires libssl: Unable to reach ss1.bdstatic.com with this protocol: Operation now in progress
HTTP/1.1 200 0.13 secs: 93750 bytes ==> GET /r/www/cache/static/jquery/jquery-1.10.2.min_65682a2.js
HTTP/1.1 200 0.06 secs: 705 bytes ==> GET /img/baidu_jgylogo3.gif
HTTP/1.1 200 0.06 secs: 7877 bytes ==> GET /img/bd_logo1.png Transactions: 6 hits
Availability: 85.71 %
Elapsed time: 0.54 secs
Data transferred: 0.21 MB
Response time: 0.08 secs
Transaction rate: 11.11 trans/sec
Throughput: 0.38 MB/sec
Concurrency: 0.93
Successful transactions: 6
Failed transactions: 1
Longest transaction: 0.14
Shortest transaction: 0.05
桌面版输出结果
对比移动版和桌面版的发现在同样的并发量和循环次数上,移动版的传输数据的量更小(因为移动端流量毕竟贵嘛)
性能测试--siege的更多相关文章
- Web性能测试工具:Siege安装&使用简介
在Web性能测试工具中,siege是比较热门和常见的,它有安装简单,使用简单,测试报告详细的特点. 并且可以在文本中预定义一系列待测试url模拟,并可设定一定并发量下持续指定时间or测试进行测试. 比 ...
- siege之-服务端性能测试
官方网站http://www.joedog.org/ 有3种操作模式: 1) Regression (when invoked by bombardment)Siege从配置文件中读取URLs,按递归 ...
- 性能测试工具--SIEGE安装及使用简介
官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...
- 【性能测试工具】- Siege
优点:比http_load好用,因为相同的url.txt文件在httpload不好使,所以在易用性上httpload不如siege,仍需进一步调研. 缺点:安装过程中,不能自动创建siege.log文 ...
- 【性能测试工具】-SIEGE、HTTP_LOAD、WebBench、Apache-ab
//当使用其它的开源测试工具的时候,也可以参考这一点:进入到bin目录 //如果工具本身不包含bin文件,那么在工具的1级目录执行即可 (1) SIEGE $cd /home/userNa ...
- 性能测试工具--SIEGE安装及使用简介 siege压力测试
官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...
- 2、使用siege进行服务端性能测试
先查看siege帮助 输入siege -h 翻译一下常用命令 -c 指定并发数 -r 指定重复次数 -d 指定请求的延迟时间,注意每个请求间随机延迟 -f 指定url列表,可以一次给多个地址加压 -t ...
- 3、加强siege性能测试
需求1:使用siege对多个页面进行加压 1.对如下3个页面加压 http://jrjf.hscx365.com/ http://jrjf.hscx365.com/solution/armyone.h ...
- 烂泥:apache性能测试工具ab的应用
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试 ...
随机推荐
- CSS:水平居中与垂直居中
CSS居中算是一个比较基础的问题,在实际运用中,需要考虑到的一般是两种情况,一种是主要是表现为文字,图片等行内元素的居中,一种是指 div 等块级标签元素的居中. 水平居中 1.行内元素 行内元素(主 ...
- [LOJ6235]区间素数个数
题目大意: 给定$n(n\leq10^{11})$,求$\pi(n)$. 思路: 计算$\pi$函数有$O(n^{\frac23})$的Lehmer算法,这里考虑$O(\frac{n^{\frac34 ...
- php中int类型在不同平台所占不同字节数理解
1.在不同平台上占字节数与最大值 在32位平台上int占4个字节,在64位平台上int占8个字节,PHP_INT_SIZE 在32位平台上int的最大值2^31 - 1,在64位平台上int最大值2^ ...
- Mark S. Rasmussen improve.dk-----knife-for-mdf-files
http://improve.dk/orcamdf-rawdatabase-a-swiss-army-knife-for-mdf-files/ http://www.cnblogs.com/lyhab ...
- centos7 samba安装与配置
1.关闭防火墙. CentOS 7 是自带的firewall,CentOS 6 好像是iptables.关闭防火墙命令如下: 第一种方法是关闭防火墙: systemctl disable firewa ...
- ubuntu 配置L2tp出现的问题解决
运行环境:ubuntu 14.04 64位 配置推荐网址: https://linux.cn/article-3409-1.html 首先,官方教程是必须的: https://help.ubuntu. ...
- dedecms让channelartlist标签支持currentstyle属性方
把dedecms中用channelartlist当导航的站很普遍,但是有的站需要用到当前页中导航样,就是随着不同的页面,导航样式也随着变化. 首先打开include\taglib\channelart ...
- java编程思想第四版第9章
练习3: public class MainTest { public static void main(String args[]){ Bcycle b=new Bcycle(); b.print( ...
- springBoot与多数据源的配置
http://www.cnblogs.com/shenlanzhizun/p/5846475.html 最近有点忙,更新有点慢.今天进来说说一说springBoot中如何配置多数据源. 第一,新建一个 ...
- 关于使用Axure RP进行原型开发的一些心得体会
Axure RP(Axure Rapid Prototyping)是一款高速实现.准确表达.带有交互效果且易于上手的原型设计工具. 本人在曾參与某系统需求分析时開始接触Axure RP,初步掌握了一定 ...